Are JS apps effectively running through 2 VM's?
The Javascript engine in Android's Browser/WebView can be either JavaScriptCore (lower end phones) or V8 (higher end phones). Chrome also uses V8. Both engines are written in C++.

Javascript is never compiled to Java bytecode, instead it is interpreted and/or JIT compiled into ARM bytecode.

My guess on why V8 on PC is much faster than V8 on Android is probably because JIT compilation to x86 is more mature than JIT compilation to ARM.