[disclaimer: I am TL for Dart Native Compilers]
We currently don't use LLVM for compiling Dart to native and we actually never used it in production - though we previously built couple of prototypes to evaluate potential benefits of using LLVM.
We use our own AOT compilation toolchain which has roots in our JIT compiler for Dart.
> meaning that compiling to WASM should be a trivial option
It's not really trivial because you still need to figure out some things - most importantly GC. On ARM you can scan the stack - on WASM you can't. They are working on GC support from WASM, but I don't think it is ready yet. And some things are just unfortunate (e.g. i31ref type which mimics V8's SMI - Dart SMI's are 63-bit on 64-bit platforms).
A lot of optimizations which benefit Dart code size and performance require high level optimizations anyway, so having LLVM does not help you in any way.
That said there are obvious benefits for having LLVM as a backend - so we are planning to explore it yet again in the near future.
Combine this with the fact that Flutter has announced that they intend for desktop support, and I think the future is pretty bright...
Kotlin compiles to about three times as many different targets already.