You might need a static internal IP for the server (don't allow dhcp to assign it just anything) & a "port forwarding" for the incoming traffic, routed to the server.
The router needs to know what to do with requests coming to a certain port, otherwise it can only route 'responses', not direct requests.
I've set my local servers up by dividing the used IP range up. i.e. restricting the DHCP allowed addresses to a restricted set only (200-255 iirc on the last segment), and so I can use anything outside of that for servers.
Apologies if you're way ahead of me, reading your post isn't quite clear on this point to me.
But it is possible that your ISP blocks certain (known server) ports, 80, 443, 21 - however it's also possible that something is hogging whatever port you need. Worth checking both.