Only partially correct IMHO, the *WASM Component Model* is mostly a Rust thing (at least it's very apparent that it has been designed by Rust people), thankfully WASM itself is independent from that overengineered boondoggle.
Not at all. It's much more efficient to implement a GC on x86 or ARM than it is on Wasm 1.0/2.0, because you control the stack layout, and you don't have an impenetrable security boundary with the JS runtime that your GC needs to interop with.
Not to mention the issue that bundling a GC implementation as part of your web page can be prohibitive in terms of download size.
Tbh I never understood nor cared why people would want to use a garbage collected language with WASM in browsers when there's already Javascript. One of the main points of WASM was to avoid GC overhead alltogether (thus the 'garbage-free' subset asm.js which then became WASM).
WASM is not nearly as capable as either architecture.
But.... they would certainly be much more useful architectures and devices if they chose to cater more to actual needs rather than performance under C/C++