Credo che il tuo problema sia che la tua istruzione di aggiornamento utilizza Set in un caso e AddToSet in un altro caso. AddToSet è un'operazione basata su array e Set assegna direttamente un valore. Dovresti usare AddToSet in entrambe le circostanze per assicurarti che esista un array in MongoDB.
La FormatException è perché ci aspettiamo un array (perché il tipo è List) e invece otteniamo un documento.