Schematic Editor / Tools / Edit Symbol Fields Does not have data of it’s own, but it collects data on the fly from all your schematic symbols and presents it to you (and it lets you edit, and save the changes).
If it would create fields in all the schematic symbols for all the columns then you would have a data explosion. Just imagine having a big schematic, and then importing a few symbols from external libraries that have different names for “manufacturer part numbers” " ordering numbers" etc.
Therefore, the chosen algorithm to only create fields in schematic symbols if they actually have data in them is the sane compromise.
In the link to gitlab that JeffYoung posted they mention: Schematic Editor / Preferences / Preferences / Schematic Editor / Field Name Templates. Names you add there are always available as columns in your Edit symbol Fields grid cell editor.
I see, the decision is rationalized. But I still think it’s unexpected behavior. Maybe add a popup that says “You have created new fields that do not contain any values. If you close the window they will be deleted”.
But what if the value is emptied after having been previously filled? Does the software delete the field on save? If so then perhaps the appropriate message for the entire lifecycle might be: Field <name> does not contain any value and will be deleted on save.