The demo application only uses internal libraries and I've tracked the issue to the jWebSocketClient library (version 1.11). The accompanying jWebSocketClient.xml shows that the library depends on jetty_b4j.jar. No jetty_b4j.jar is included in the internal libraries folder of 64-bit B4J 9.80.
Jetty_b4j.jar was used by jServer 3.00 (Jetty 9). This does not exist anymore for jServer 4.00 (Jetty 11). It has its own folder with separate jars. You can find jServer 3.00 (and jetty_b4j.jar) here: https://www.b4x.com/android/forum/threads/jserver3.141323/#content
I get it. B4J 9.8 is jServer 4.00, but the internal library jWebSocketClient is referencing a resource only included in previous jServer versions. I don't think it should be up to a user of B4J 9.8 to worry about copying files from previous versions to make an internal library function correctly.
Thanks for looking into my problem!
I can confirm that I too am using B4J 9.80 and Java 11 (from b4x.com), with jWebSocketClient library version 1.11.
I do also however have jetty_b4j.jar in my internal libraries folder (not in the jserver subfolder), which will be why the demo app I made compiled OK for me.
The modified date on jetty_b4j.jar is 27/04/22 where as all the other internal libraries are dated 05/07/22, so I guess it's just left over from the previous B4J installation which I didn't uninstall before installing 9.80.