Virtual Threads aren't quite the same as green threads (they don't block the OS thread) and they work extremely well now.

They are not even remotely the same, there is no reason to compare them at all.

That's interesting because I remember people talking about Rust green threads as M:N mapping, which seems to be the only difference.