It has an extreme lack of UI primitives. Look how seamlessly iOS native views transition to each other, the consistent navigation bar, the modal views, etc etc. There’s no equivalent of UITableView letting you render long lists efficiently.
Any equivalent of the above has to be hacked together using JS, which ties up the main thread and can never fully match the host OS.
At this point, the most straightforward technical road to cross platform UI seems to be building high level UI toolkit that runs on browser runtime (ONE specific browser run time), and "platforms" slowly integrating this runtime as their native and only behavior. Note that I say "most straightforward", not "easy".
Personally, I don't see any viable *business* road for this, but happy to read some fan fiction on that.
Any equivalent of the above has to be hacked together using JS, which ties up the main thread and can never fully match the host OS.