[BsonDefaultValue("")] се прилага само при четене на документ от базата данни, който няма стойност за съответното поле. Ако искате новите обекти, които създавате в паметта, да имат стойност, различна от null, трябва да зададете тази стойност във вашия конструктор. Освен това, когато запишете обект в базата данни, ако полето е нула, тогава това е, което се записва и чете обратно.
Така че просто задайте стойността по подразбиране във вашия конструктор, за да обработва нови обекти, създадени в паметта (и вероятно вмъкнати в базата данни) и използвайте [BsonDefaultValue], за да управлявате обратно четене на документи, които може да нямат съответно поле.