You can't have dymanic linking of two C-like libraries compiled to wasm, because you would not be able to pass pointers around. Basically everything you compile to wasm becomes static binary which needs some bitfiddling to interact with.
Something beam-hosted with zero pointer sharing between nodes and smaller runtime maps to wasm much better.
One WASM-related case I've actually encountered in the wild is Unity web. Similar problem as Golang, the runtime is heavy.