Why can I access my server on some public networks, but not others?

Some ISPs provide rather weak DNS servers which don’t resolve the .direct top-level-domain (reliably).
This is needed when the Plex server has set the ‘Secure Connections’ ‘required’ preference.
In such a case, the TLS certificate is ‘pinned’ to only the exclusive subdomain for your server which is is on the *.plex.direct domain.
If the router of the public WiFi cannot resolve this Domain name to a IP address, your plex client cannot talk to your server because it doesn’t know its IP address.

If you know the operator of the public network in question, suggest to them to switch using either Google’s public DNS servers or those from OpenDNS.
(These two have been proven to reliably resolve the .direct TLD)

The above is not needed if you use either an iOS or Android Plex client. AFAIK those have a workaround already built in.

The same also applies to your own home network, to some degree.

https://support.plex.tv/hc/en-us/articles/206225077-How-to-Use-Secure-Server-Connections