[BsonDefaultValue("")] gäller endast när man läser ett dokument från databasen som inte har ett värde för motsvarande fält. Om du vill att nya objekt du skapar i minnet ska ha ett annat värde än null måste du ställa in det värdet i din konstruktor. Dessutom, när du sparar ett objekt i databasen om fältet är null så är det det som sparas och läses tillbaka.
Så ställ bara in standardvärdet i din konstruktor för att hantera nya objekt skapade i minnet (och förmodligen infogade i databasen) och använd [BsonDefaultValue] för att hantera återläsning av dokument som kanske inte har ett motsvarande fält.