The Metafield Definition Catch-22 …
app cannot create theme/storefront-accessable metafields
For theme access to product metafields, they must have definitions NOT IN app-specific namespace
For storefront access to product metafields, they must have definitions
graphQL can create definitions,
but in order for the definitions to enable storefront access,
they must be in an app-specific namespace (such as app–1234567890–custom)
Note that the appId number varies for each shop
Thus, it appears to be impossible for an app to create theme-accessable metafields
Any suggestions? Thanks! jb