Ich glaube, Ihr Problem ist, dass Ihre Update-Anweisung in einem Fall Set und in einem anderen Fall AddToSet verwendet. AddToSet ist eine Array-basierte Operation, und Set weist einen Wert direkt zu. Sie sollten in beiden Fällen AddToSet verwenden, um sicherzustellen, dass in MongoDB ein Array vorhanden ist.
Die FormatException liegt daran, dass wir ein Array erwarten (weil der Typ List ist) und stattdessen ein Dokument erhalten.