You're right, and HTTP/2 was supposed to be a major boon here, but the problem is actually that the UI itself only loads these things once they've been rendered by the framework which is often after another component has loaded them, and even if they can be ran in parallel the response times can still vary, causing the UI jiggle you often see.
This isn't really a problem unique to high latency either, if you have a patchy connection in transit or for some other reason, the UI will suffer.