A lot of work still needs to be done on the libraries and other tools before it's useful for end users. We've spent years migrating to "reactive frameworks" or being stuck in "legacy".
Virtual threads isn't just something to "enable". You do need to adapt existing codebases somewhat e.g. use of synchronization.
The upcoming future is likely a mix of reactive and virtual threads where appropriate. Virtual threads is still very good for short lived tasks.