I believe the .Net world does its JITing based on a bytecode that is at the conceptual level a lot like web assembly. They're not the same, of course, but the point is you can JIT on that sort of thing OK. I won't promise you won't lose some performance, but there's other ways in which that might still be a long-term win as you may be able to gain in other ways relating to exploiting the language you start with. (In the long run, and to be honest even today, if you really deeply care about performance, you don't want a dynamic language. They're slow. We've invested crazy amount of effort into optimizing them, made tons of progress in that optimization vs where we started... and they're still slow. At this point smart money has to be put on that not changing.)
They're nowhere near the same. WASM is based on linear memory and has no concepts of objects and methods. CIL bytecode as used by .NET has a full runtime which has objects, methods and GC. Even with the GC proposal, as currently spec'd, it would not be able to handle .NET's object model.
The only similarity, really, is that they're both binary formats.
Blazor is a .NET interpreter written in C++ that's compiled to WebAssembly. You can think of it as being comparable to Duktape or another JavaScript interpreter being compiled to WebAssembly and running some JavaScript code. It won't JIT anything.