Jag tror att ditt problem är att din Update-sats använder Set i ett fall och AddToSet i ett annat fall. AddToSet är en arraybaserad operation och Set tilldelar ett värde direkt. Du bör använda AddToSet under båda omständigheterna för att säkerställa att en array finns i MongoDB.
Formatexceptionen beror på att vi förväntar oss en array (eftersom typen är List) och istället får vi ett dokument.