[BsonDefaultValue("")] se použije pouze při čtení dokumentu z databáze, který nemá hodnotu pro odpovídající pole. Pokud chcete, aby nové objekty, které vytvoříte v paměti, měly jinou hodnotu než null, musíte tuto hodnotu nastavit ve svém konstruktoru. Také když uložíte objekt do databáze, pokud je pole null, pak se to uloží a přečte zpět.
Stačí tedy ve vašem konstruktoru nastavit výchozí hodnotu pro zpracování nových objektů vytvořených v paměti (a pravděpodobně vložených do databáze) a použít [BsonDefaultValue] ke zpracování zpětného čtení dokumentů, které nemusí mít odpovídající pole.