If all you want is non-blocking behaviour, just use a Loom based JVM, which means you still can write your code in familiar style, but still benefit from virtual threads. Works perfectly with Jetty server and/or Apache client, with setup needed to use the correct thread factories in your code.
Of course there are still many other reason why you would want to use coroutines to manage the data flow, so I'm not saying you wouldn't want to use them.