Afaik those make for a 2x performance hit. And they don't necessarily protect against buffer overflows; if you overflow out of data addressable from one pointer, but into data that's legally addressable from another pointer, that's still an issue, but it won't be caught.
But WASM has the same buffer overflow problem, and at least that bad of a perf hit.
WASM has less of a perf hit.
Address sanitizer and undefined behavior sanitizer are not intended to be security mitigations; it's possible to get around them and now you have bad things happening in your process again.