If your MX is sitting behind a CGNAT connection, then it won't be possible to do a port forward.
However, you also mention you have a dynamic public IP address. Is this public IP address directly on your MX WAN interface, or does the WAN interface have a private IP address on it?
If it really is CGNAT:
You would need to look at a SASE option like Cisco SecureConnect (if you have fewer than, say, 75 users) or Cisco Secure Access (if you have more than 75 users).
With these options, your VPN terminates in Cisco's cloud and then connects back to your MX via AutoVPN.
If the public IP address really is on your MX, then you can use Cisco Secure Client/AnyConnect, and connect to the DDNS name assigned to your MX. It updates as the dynamic IP address changes.