I would say that Dart and Kotlin have more in common than Rust and Go. As I wrote in another comment, speaking of Dart and Kotlin: they are both relatively young (the projects started in 2010–2011); they both are claimed to be multi-purposed and suitable for BE, FE, scripts, mobile (and both are most popular in mobile development); they both have interoperability with JS and C; they both can be compiled and interpreted; both companies developing the language have their vision of “cross-platform framework”.
Yes, Dart was initially thought about as “a better JS” and Kotlin as “a better Java” and that mainly answers why we’ve got what we’ve got. At the same time, both teams are claiming the language to be universal (at least at the current stage), so in my opinion, we can safely ignore this “better JS/Java” thing and compare these languages in their current state.
“Mathematically provable” sounds good until we come to practice. And in practice, we’ve got in Dart mainly the same possibilities to shoot yourself in the foot such as late keyword or ! operator.
If Dart would be used just for “building GUIs via Flutter” maybe it would be good enough, but once you also write some business logic the language suddenly becomes not very strict, not very safe, not very convenient. Of course, from my point of view, both as a developer, and as a team lead/code reviewer: I see that some bugs would be avoided using Kotlin, and the code in many places would be more concise and maintainable.