The config folder stores all of HA’s files. Any settings, passwords, for all integrations are here.
A HA backup is just a zipped copy of the config folder really.
If you have any external service, that will be stored separately wherever you placed it. External database, external mqtt, and similar. You would be responsible for making sure that data moves to new system
If you have customized the OS then this will need to be considered. WiFi setting, externally mounted hardware, and the like will need to be setup with new install.
These basically hold true for every install method. OS, docker, vm, etc.
Generally keep old system running until new is setup.
Restore for me is like this.
Setup new hardware with default HA running. Verify I can make HA boots and runs with no errors. Install the same version currently running on old hardware. You don’t want to add problem by installing version with breaking change.
Add any OS customizations. I have udev rules for zwave stick and coral to mount with specific location and name. I have some drives I need fstab rules to mount. I take this time to setup temp IP for new hardware(I may keep this IP or later when HA has basics running I may move to the standard HA IP I have as default in my network). Each of these items is verified before move on.
Next I stop HA (both on old hardware and new)and restore the config. I use docker so this is easiest way but if using backup you can keep HA running and restore. It is at this time that i move zwave stick, coral and other physical device to new hardware. These items need reboot to be recognized so this is good time, also new system is ready and old can be stopped. Presuming you know what your doing all will go well but I plan at least 1hr downtime to allow troubleshooting short period. You can go back to old hardware if troubleshooting goes over 30minutes or stay down and press forward. When HA is back running I just starting checking what is or isn’t working and resolve errors.
I use external DB. With the config restored it should become active. With the exception of integrations that use a physically connected device (like zwave) you can mostly run two HA instances side by side but NOT using same IP.
Check log if problems occur.
Always good to verify from HA that you can ping device if not connecting to it or access a folder if things are not working. Depending on install method incorrect file permissions will cause errors until you set the correct permission. This is actual purpose of booting to default before restore. It gives sanity check so you know it can run and allow you to verify expected group:user and location of files. If you don’t do full restore often this is useful hint.