One thing to note, is that with HTTP2+ if you can push many of the required baseline .mjs files to your client, or setup an appropriate manifest for offline caching it will dramatically improve performance. Having a request based model will mean much lower load times over slower/intermittent networks (phone/wireless).
I really do think that this approach is the future, even if I'm not sure how well this will integrate with the broader JS community in the near term. I also think there's maybe another year or two to flush out some adjacent utilities to help with initial load of projects like this into a browser. I hope that a packaging system (deliver zip or tarball to browser) gets traction and takes hold.
native packaging is indeed a hot topic. the chromium team wants to do it: https://v8.dev/features/modules#web-packaging
no clue about when it will be ready & other browsers.
we can use a manifest (& service worker) for app related images & css.
regarding the .mjs files it is tricky though: the main thread is using very(!) few files in neo.mjs, while the app worker consumes a lot (most parts of the framework & app files).
as far as i know there is nothing like a manifest for the worker scope out there (did not search for it for a long time). please give me a heads up in case there is!