Dart can compile to JS, so that edge is covered. Dart bytecode is arguably an easier target for other language compilers than, say, assembly. The DartVM's byte code is fully specified, there is some adoption, it's openly accessible, and there's a bold, production-ready reference implementation. For wasm, only half of that is true.