Yes, and I think it's fine that v8 took that route - it's actually the route that I recommended that Firefox take. It is also the route that JavaScriptCore is taking. So I completely agree with you that the v8 team's approach is reasonable.
But they haven't optimized it well enough yet. The main issue Unity (and other big asm.js codebases) are seeing is OOMs and crashes in Chrome. The v8 and JavaScriptCore approach can avoid those, by not compiling everything at once, more efficient in-memory data structures, and so forth. This helps overall JS performance as well. It's just engineering work that needs to be prioritized and done.
(AOT, as in Firefox and Edge, does have an advantage in startup speed that I think v8 and JavaScriptCore will have a hard time approaching, but that is not a blocking issue the way that crashes and OOMs are.)