Can I just ask whether people who have got this working in this thread have it working consistently? I can get it working for a few hours but then my ports show as closed again without me doing anything. I've tried re-applying the port forwarding settings at my VPN provider (Ivacy) but it makes no difference. Seems to come back sometimes after a router reboot but not consistently.
Just to confirm here as well, the forwarding has also been working perfectly since I resolved the script syntax issue. I would also recommend checking with your VPN provider. If you want to rule it out you could pay for 1 month of Mullvad and setup the VPN on the router with their service. If it works then you know it's your VPN provider that is the issue.
The only "problem" I have run into that when the IP assigned to you via your VPN provider changes, you need to make sure you are aware of that so that you attempt to connect to your application on the new public IP. The port forwarding continues to work on Mullvad when they assign you a new public IP. To be clear, I don't view this as an actual issue.