Go was originally non-preemptive ("the loops problem"). This was changed in 2019 to preempt at safepoints [3]. The Java team will probably have to do this too [4], but similarly it is low on their priority list and requires feedback.
java.util.concurrent is still the basis of good Java concurrency. Some external libraries for reactive or actors might become less popular, but they were always the minority. There will be some improvements with structured concurrency to make that a little bit easier, but the fundamental approach will remain the same. I think old advice will be relevant, except when it comes to thread pool sizing (which was always a black art). At best some over eager use of async will go away and we'll return to simpler blocking code.
[1] https://github.com/openjdk/loom/commit/24e80bdee3eaf347f2eab...
[2] https://mail.openjdk.org/pipermail/loom-dev/2023-July/005990...
[3] https://go.dev/src/runtime/preempt.go