Metafields are resources attached to objects like a product but are not part of it.
They are not defined across all of the same type of object, and you’re not redefining the default fields in the product object.
I can see many reasons why a metafield should not exist across all of one type. An easy example is a store that sells food and recipe books. There’d be zero value adding an calorie metafield to a book. Well I guess you could but that would be weird!
For a metafield to exist it can’t be blank. So if you’re looking to add the exact same value to every single product then a metafield is likely not the right way to go about things. If you are adding different values to each then it don’t see why it matters if they are global or not - you still need to make the API call to add.
Sounds like for your needs the app will need to have some sanity checks put in place so you can warn the user if something is missing or unexpected.