I agree to some extent, that there should be more structure or integration to workspaces.
tabs should be a part of the windowing system, for example, not something apps do themselves (and all differently). Then, the windowing system could support breaking out tabs to new windows, navigating between them, etc, in a manner consistent with the rest of the window system. The same with terminal multiplexers, etc. With text editors, some text actions could be defined universally, and mapped to keystrokes, so that in any editing environment, you have a consistent set of affordances. Why is the editor managing 'splits', when the terminal multiplexer, if not the window manager, should be doing this? You end up having to define (often conflicting) key mappings in multiple apps to get any kind of overall-usable/consistent setup.
Etc. I agree the current situation is a mess.