Hi Marian. The methodology of your tests and some of your statements are problematic as for me.
1. Since Java 8 if you want to make a performance test, you have to use JMH, otherwise the results of your test can't be considered accurate (https://www.baeldung.com/java-microbenchmark-harness).
2. There is much more in your tests than just Java. For example you are making HTTP requests as part of the test, but it's really wrong if you want to check the Java performance, not the performance of a bunch of systems not related to Java like the networking of your particular localhost machine.
3. In your tests you avoid scenarios which got massive optimizations. For example working with parallel streams is MUCH faster with modern java, than with J8. Also strings in J9+ perform MUCH better for latin1 encoding. Garbage collectors like Shenondoah or ZGC made quite a magic thing in java world by removing stop the world problem on huge heaps entirely. Etc etc. There is also many micro optimizations which are done in every version, I can suggest you a video about Java 9-14 optimizations https://www.youtube.com/watch?v=5Y0Alqb9H_I (it's in Russian, but probably youtube auto subtitles would do the thing)
4. "The rest of the modern features are not so universally useful(except switch)". Here is a list https://ondro.inginea.eu/index.php/new-features-in-java-versions-since-java-8/ (it's shorter than actual changes) In my case I found usefull and used in most projects: text blocks, new switch, records, pattern matching for instance of, new http client, var, collection factory methods.
5. "I would say that compared to JavaScript or Python, Java as language has stagnated". There is a huge difference between the goals of these languages. In many cases the lifecycles of JS or Python projects are very small. Java projects are usually made for a long run and new versions of Java respect it. New versions of Python and JS do not respect the time spent on code in earlier versions as much as Java does. So "stagnation" is a wrong word, the better word is "care".