Imo bundle size is a bigger issue.
It doesn't have to be slow, if the browser exposed C-like ABI for DOM access and web APIs like LocalStorage, the FileSystem API, ServiceWorker, etc - Rust bindings can be made and that boundary could be well optimised.
All we need is;
<script type="application/wasm" src="./main.wasm"></script>
The rest is just browser optimisations.