I've managed to get the migrate instructions to work to duplicate my vps hosting. However, it doesn't do all of it. Rather than the default of user=domain, database=domain for extra security I have user as a different name, not an email address. Likewise database name is not domain either. Restoring virtualmin creates my database, but it does not create the user.
BTW I followed the instructions here, https://www.virtualmin.com/node/16245, to create under webmin a mysql user.
FYI what I find missing from a virtualmin restore is:
usermin theme, selection and install
webmin theme, selection and install
webmin SSL certs
mysql database users
The only safe way to restore those for a migration seems to be by hand. Arguably msql database users for virtual sites should be recreated by virtualmin restore. It would be nice if the restore script also gave the option to set localtime, cron jobs, and procmail filters.