1. If using DFS, then just create the new volumes/shares and migrate using DFS. Transparent and seamless.
2. Ensure that Local_Syncmirror is licensed on the V-Series controller ("license show"). Contact your NetApp account team for a license if you don't have one. Create an identical set of array LUNs on the DS5020. Assign the new luns using the [-p <pool>] option to add them to pool 1. Once you've confirmed the 5020 LUNs are in pool 1, you can now mirror the aggregates. aggr mirror <aggr-name>. This will create two "plexes" underneath the aggregate. They will be synchronized copies of each other. When the mirror is sync'd, you can then offline plex0 (the ds3400 LUNs) and you will then be operating solely on the 5020. this is transparent to the clients, but limits options for laying out the 5020. See the DataONTAP Data Protection Guide for more info: https://library.netapp.com/ecmdocs/ECMM1277793/html/onlinebk/frameset.html
4. Use a host-based migration tool. Robocopy is robust enough these days to handle moving the files, folders and permissions, and with the /mir can mirror two shares. There will be an outage, from a few minutes to an hour or so, depending on how many files and how fast Robocopy can work. This is the longest outage, but it may be the thing your admins are most comfortable doing (if they are primarily Windows experts)