How do I switch from one web host to another?

How do you maintain the site you have? Do you download files, such as HTML files, edit them, then upload them, perhaps using FTP? There are many ways to maintain sites. Some developers keep a copy in their local system and upload changes.

The current solution used by many (I assume most) professional developers is to use a Git repository, such as GitHub or GitLab. Using a repository like that, moving from a host to another host (that support
deploying from a repository) is easy.

If you are able to download a copy (such as a backup) of your current site then most hosts, probably all, have a way for you to test the new site before changing the DNS.

If you are not able to get a complete copy of your current site then you are using a host that is making it difficult to switch hosts and if someone is able to help you with that then they will need details.