Web assembly is the browser C FFI, not some high level platform like Java or .Net. Your examples aren't comparable.
Also failure to understand that C ABI does not exist, rather it is the OS ABI from OS written in C, and that other OS, not written in C, don't have such thing as C ABI across all languages.
Examples of such OSes, IBM i, z/OS, Unisys ClearPath, UCSD, Unisys ClearPath, Classic Mac OS, UCSD, Native Oberon, Mesa/Cedar, Windows (plenty of stuff is .NET/COM/UWP nowadays), Android, ChromeOS, Garmin OS, and the Web.
So no, it isn't the browser C FFI, all major ones aren't even written in C for the past 20 years.
The majority of browsers now support Web Assembly and about half the global population has a web browser and access to the internet - and now, access to an actual universal bytecode based execution runtime by nature of being part of the web browser standards instead of an OS feature or framework installation or (god forbid) Oracle TOS.
The C FFI part was an analogy. The whole point of Web Assembly is that it can't call out to just any library on the OS.
By the way, JVM on the browser, Flash CrossBridge and PNaCL were there first in what concerns "universal bytecode based execution runtime by nature of being part of the web browser".
But I think your argument holds for CLR, were I've seen the 4 languages you mention being used altogether in the same code base.
Most people on JVM land, use a mix of Java, Kotlin, Scala, Clojure, Groovy, JRuby.
Whereas on CLR land it is C#, F#, VB.NET and C++/CLI (for low level stuff).
Naturally those that want to kill Java, or rather not touch Windows, aren't aware of this.