In reply to Devin Walker.

I hope that I didn't put too much work on your plate. :)

I agree that some themes in the wild can wreak all kinds of havoc. Leaning on the global styles system is that middle ground in many ways. It's the universal language in which both plugins and themes can speak.

Just using the block's Primary Color as an example. I would display the theme (and user-defined) color palettes there if registered. If not, fall back to the plugin's color palette.

You could enable the font, color, border, and align block options with a few flags in block.json. This would allow both themes and users to modify at least some of the output without breaking things.

For the things that WordPress does not provide design tools for or the block does not have options for, there are way of still speaking the same language through theme.json. The plugin can -- while still controlling the experience -- let themes customize specific things. As an example, the Markdown Comment Block lets themes use the custom key to overrule styles. This offers a tightly-controlled experience where the plugin can style go hyper-specific with styles but let themes integrate with it.