I find your points rather weird.
> e.g. how to make a piece of state inside one component accessible from another.
That is logically the same with every component framework, there is only one correct way to design it, flowing inside data are props, outgoing data are events. Was always the same.
> Then when I saw Vue3 was adding a new, apparently separate way of
> doing things (the composition API), but also not deprecating any
> current abstractions, that was what specifically made me start
> looking for alternatives.
How does this makes any sense? There is no need to deprecate the component declaration cause of the way it works. Instead of exporting a native JS Object you just use defineComponent({...}) to get type annotations, that it.