Welcome to the world of ISP's taking the easy way out without thought of ramifications to it's users!
Unfortunately it is very unlikely ngrok will work for RailPro. ngrok is designed to allow outside connections (from the greater internet) to a server you run at home (of which RPA is not a server, but Plex is) by providing a piece of tunneling software you install at home and their server which maps an external (public) address to the local (private) address of your server stuck behind CGNAT.
The key piece in making ngrok work, apart from any code changes to the tunneling software (which would probably be a lot) is that you'd need to control their server so you could correct the mapping to suit Rings Server. This is almost certainly an impossibility. ngrok doesn't change what port mapping your ISP does as part of it's CGNAT implementation so making an educated guess it's probable that any RPA communication to Rings server would leave the ngrok server with a source port that is different to the one that Rings server will send back to, and then we're back to square one; Rings reply has no way of being mapped back to you without the port mapping on the ngrok server being corrected.
All that being said, ngrok is a similar approach to what I've been taking on the CGNAT work around I've been working on. Who knows, I might even have a beta available for testing soon; unfortunately I have a lot of free time on my hands for a while
- Tim