Seems to me we've lost the plot here.
AFAICT, the issue for the OP has nothing to do w/ DDNS per se. However the OP resolves/determines his public IP, whether it's via DDNS, or he has a KNOWN static public IP, the issue has to do w/ NAT loopback. IOW, referencing that public IP from within the local network behind it.
In order for that to work, the target device has to be made remotely accessible via the WAN, whether that's simply an open port on the WAN for access to the router itself, or some other device on the LAN made accessible via port forwarding.
IOW, if it isn't normally accessible over the WAN when actually outside the WAN, it is NOT going to be accessible via the public IP while inside the LAN either. The two go hand-in-hand together for the purposes of NAT loopback.
Why? Because when you make something remotely accessible, that creates a DNAT (redirection from WAN to LAN) in the firewall. The DNAT is what NAT loopback depends on in order to convert the external (WAN) reference to an internal (LAN) reference.
As far as the reference to a VPN, you lost me there. I assume you meant that normally you remotely access via your own VPN server rather than the WAN. But that has nothing to do w/ the problem described above, which is about an external reference to an internal resource while *physically* on the LAN.