Hey I just finished my hardware migration and I'm happy to report it was successful. These are the steps I did:
Log into TrueNAS SCALE web interface
Go to System > General Settings > Manage Configuration > Download File
If you have encrypted datasets, go to Datasets > select your encrypted dataset > Export Key
Shut down server and swap hardware
Prepare HexOS installation drive and use it to boot
Set up HexOS/TrueNAS SCALE, I left everything on default
In your router settings, give the new hardware the same IP as your old one. Restart your TrueNAS server to grab the right IP.
Go into TrueNAS SCALE web interface, log in
Upgrade your version of TrueNAS. At the time of writing this post, the HexOS installation image is behind of what's was being supported/recommend by the HexOS web interface.
Check the filename of the .tar that was created when you exported the configuration. It should have the version of TrueNAS that was used in it (i.e. 25.04.2.6).
Select the same version from the upgrade screen and confirm that you want to switch upgrade train.
Apply pending updates and the system will reboot.
Go to Storage > Import Pool > find your zpool
Got an error? Check step 9 again. Make sure you are using the same version of TrueNAS as your old boot drive.
Go into System > General Settings > Manage Configuration > Upload File
After reboot, go to Apps > Configuration > Unset Pool
Restart TrueNAS
Go back into the web interface, go to Apps > Configuration > Choose Pool
Your apps should show back up and you should be able to start them.
Go to the HexOS web interface.
If you haven't already, unclaim your old server and claim the new one
The hardware check screen should give you a warning about an existing pool. This is good, go onto the next screen and skip creating pool.
Give your server a name and you should be good to go!
Really hope that HexOS has an easily migration process in the future. I have learned so much about TrueNAS that it's making less sense for me to use HexOS.