JSON.stringify normalmente não remove objetos vazios, então isso é específico do mangusto.
Eu recomendo tentar .toObject() ou .toJSON()
http://mongoosejs.com/docs/api.html#document_Document-toObject
Este será chamado durante .stringify, então provavelmente é o que está cortando os objetos vazios.http://mongoosejs.com/docs/api.html#document_Document-toJSON
Então tente isso primeiro:
JSON.stringify(obj.toObject());