There was a paper "rasm" about compiling racket to wasm. It posits that chez scheme, the language racket compiles to, could use some changes to better support a wasm backend.
Another option would be to directly target wasm instead of using chez scheme, as native code generation does.There is an alternative backend "Nora" that attempts to do this with llvm
Btw : i have a related thread WASM Proposal Lacks Support for Reusable Continuations