When you are sure you have done port forwarding correctly and the server works from the lan it almost always is you do not have a public IP address.
IP addresses have been in short supply for many years. Most people do not need exclusive use of a IP address so ISP use NAT so multiple people can share them.
Check the IP address you see in your router as the WAN ip. This is the IP assigned to you by the ISP. You can lookup what is private/public ip but if this IP is not the same as you see on a web site like whatsmyip the ISP has assigned you a private IP.
If you do not have a public IP you must talk to your ISP. Some will give you one just for asking, other there is a extra monthly fee, and for some the ISP has some technical...