rsync -hav --progress /path/to/EvacDataset/ /path/to/NewDataset1/
Notice the trailing slashes: those mean to synchronize the contents of EvacDataset, but not the folder itself. Presuming you created new datasets beneath NewDataset1 in the same places and with the same names as the folders you want to replace in EvacDataset, this will transfer all your files, give you good visible info on progress as it goes, and preserve all properties possible.
Even if you don’t want the exact same hierarchy of folders (datasets) inside NewDataset1 as you had beneath EvacDataset, you probably want to start this way, since it gets you a single neat rsync
command to move everything from the old location to the new. If you want any of those datasets somewhere different after you’ve synchronized, you can just zfs rename pool/NewDataset1/child pool/SomeOtherDataset/child
and the entire thing will instantly move itself to the new location you want for it.
Rsync itself will make sure that all your data is transferred properly. If you’re worried about it… run the exact same command a second time. Should be blindingly obvious when there’s nothing left to actually transfer, and it’s just scanning stuff (there’s a summary at the end that will tell you about it also).