Thank you for the additional information.
It is unclear if the Shield is (a) at a remote location or (b) local, but on a different network. Apologies if I’m misunderstanding things.
Here’s information for both scenarios. Hope this helps.
If the Shield is at a remote location, then you need to enable remote access in PMS (Settings -> Server -> Remote Access). You will also need to enable port forwarding in your firewall for port 32400. The NAT capability in your firewall/router will translate between the local address, 192.168.9.12, and your public address, 90.60.xxx.xxx.
Port Forwarding in my Asus router
Remote Access settings in PMS
Documentation on Remote Access
Enabling Remote Access for a Server
Troubleshooting Remote Access
If the Shield TV is in the same location as the PMS system, just on a different network (not 192.168.9.x), then you need to enable port 32400 between the two networks and make sure your firewall/router successfully routes between the two networks. You do not need to change the advertised address of the PMS server. Standard IP routing will handle things.
If possible, as a test, you may want to allow all communication between the two networks, so you can ping, etc to ensure connectivity. Once things are working you can put the filters back in place.
Make sure the Network -> Secure Communications settings (required/preferred/disabled) are in sync with the Nvidia Shield.
You may have to manually specify the PMS server address, 192.168.9.12, in the Plex app on the Nvidia Shield TV.
In PMS Settings -> Networks, you may also have to add the Shield’s network under “LAN Networks” so it will be considered local. According to the Plex documentation, this is a Plex Pass feature. You can add either a specific IP address or a subnet & mask (ex: 192.168.1.0 255.255.255.0).
In Settings -> Remote Access, set “Limit Remote Stream Bitrate” to Unlimited / Original. This will keep PMS from limiting streaming bandwidth to the Nvidia Shield if it thinks the Shield is remote (i.e. if you cannot add the Shield’s IP address in “LAN Networks”).
I’ve never set up a client on a different local network, and have no easy way to test such a setup, so other than ensuring IP connectivity and manually adding addresses, I’m not sure what else to test. Hopefully others can assist if the above does not work.