I agree with your points on Java applets vs. JavaScript!
though I'm not sure if a "warm start-up" is possible without using frames
AFAICT most of the start-up time comes from fetching the two relatively large files emperl.data (~2.5MB compressed) and emperl.wasm (~1.1MB compressed), so as long as those are cached, it should be ok, no matter if frames are used or not. Of course, caching has to be implemented correctly and enabled both on the client and on the server, e.g. a If-Modified-Since + 304 Not Modified exchange. (On Chrome Mobile loading is also fairly slow compared to Firefox Mobile, but I'm not yet sure why.)