Empty string field names are allowed in json, and they are currently allowed in mongo documents. However there are many places in mongo code where empty string field names are not supported correctly, often because the empty string is used as an internal sentinel value in the implementation of various features.
In addition to the linked cases, here are some others:
Projection of an empty string field has opposite of desired effect:
FieldPath doesn't allow empty string field names (
SERVER-6592), I think there are a number of cases where the aggregation framework won't handle them.
Once we decide what to do about empty string fields we should do an audit to ensure we correctly implement the desired behavior.