To me, this is the real value of Wasm: platform independent libraries with a standard interface that doesn’t require C.
It can work, but it's not the fastest thing in the world.
I think languages that make working with C/C++ code much more seamless, e.g. as nice as working with Go code can be, is a better approach. Zig does this well and feels quite natural coming from Go. It can also be used to make CGO cross compilation 'just work' and alleviate many of those pains.
Go’s FFI support is alright, but I find using WASM/WASI more pleasant.