Dynamic DNS does not secure your connection, or make it inherently insecure - all it does is provide a convenient mapping between a (presumably changing) IP address and host name.
It could be argued that it slightly reduces security by "leaking" information of the machine onto the wider Internet and by facilitating a MITM attack - however this risk is really minimal if taken in the broader context.
The broader context is this:
Regardless of whether you use dynamic DNS or not, you will want to ensure that the data is encrypted in-flight and that both parties are authenticated to each other. Dynamic DNS does not substantively help with either of these things.
It would be a mistake to open a port on your router and simply let anything which knows the IP address (or domain name) connect and suck down information.
The "standard" solution to this problem would be to create a VPN and use this to bridge your remote device onto your LAN to communicate with your NAS.
There is no "one-size-fits-all" approach here, and you may be constrained or freed by the functionality of your NAS and/or router. (It is possible either or both devices will be able to act as a VPN server - if not, you will need to replace one of them, or get them to act as a client and get another device outside your network, and setting up a VPN from your LAN to it, as well as from your off-site computer.
You might be able to get sufficiently part-way there if instead of using a VPN you can get away with SCP or SFTP (which encrypts the connection and exposes an interface), or even an HTTPS connection. (If using an HTTPS connection you need to ensure you can trust it, ie appropriate certificate and possibly client-side authentication).