I always use a fixed port rather than a random port. You may also need to confirm that the Inbound TCP Agent Protocol/4 is enabled.
When I've done that, then my agent shows "Launch agent by connecting it to the master":
This is more a case of Jenkins correcting a poorly phrased message and people being confused because they relied on the inaccurate acronym in the poorly phrased message. Sorry about that, but I think it was the right decision to change the description from "JNLP agent" to "Launch agent by connecting it to the master". The
Java Network Launch Protocol (JNLP) enables an application to be launched on a client desktop using resources on a remote web server. It was a technology available in Java 8 that has been removed from Java 11.