Where I'd disagree strongly is dotNET being a mess of forked versions, the language being behind Kotlin, and the runtime behind the JVM.
The DotNet versioning annoys me, but it is actually straightforward. The Windows-only framework stopped at v4, then cross-platform Core began at v1 and now we've reached the point where Core v6 is just DotNet v6 because there is no non-core alternative at this versioning point. If you set aside naming/numbering confusion, you have a forward-moving framework up to v4 being overtaken by a rewritten cross-platform framework catching up then replacing it. There were some mishaps on the way, but this is not a mess of forked versions it is actually a pretty fast deprecation and replacement of a huge system with a massive high quality effort.
As for the main DotNet language, C#, it is generally not considered to be behind any other language out there. Perhaps in some areas different approaches have been taken when it comes to syntax, structure, tooling, but it is a very well designed language that is professionally respected, advanced, and innovative.
As for the runtime, it really isn't behind the JVM. It is supported on fewer platforms, but those it is supported on are very well catered for. Including not needing a (shared) runtime at all as builds can produce single binaries too, as per Java.
So no, the problems don't continue.
I do wonder if your recent experience of it may well be true, but is influenced by it being Windows development. Outside of internal enterprise tools, the main work is on the web/network (not Windows) and that's where it excels.