Great questions. We are actually in the process of rebuilding Hypernova to handle the request directly and deliver assets over HTTP2. More on that to come.
However, the waterfall of code split modules is actually a desired thing. We have pretty fine-grained control over what code is delivered when, and we actually do want to spread that out over time and avoid downloading bundles we may not need.
So we are experimenting with different strategies that spread the burden out over time and do work on idle callbacks, etc. So what might look like a nasty waterfall that takes forever is actually a desired effect.