WASM is designed to be embedded and its model is that of native code rather than any particular high-level language's primitives. It is closer to LLVM than Java. Comparisons to Java are surface-level and boring, since all foundational reasons why Java failed are false of WASM.
Interestingly enough, people keep forgetting that since UNCOL in 1958 there were many polyglot bytecode based runtimes, because comparing to Java is always easier argument.