Anyone looking to do this, listen to Hawker at your own risk.
I have done migrations for many clients. 301 redirects are the solution. Yes it is a permanent solution. It is the whole point of a 301 redirect. They signal a PERMANENT move of one URL to another.
In fact, it is exactly what Google recommends.
Or, here is a recent article published on Search Engine Journal about doing a site migration.
https://www.searchenginejournal.com/how-to-avoid-seo-disaster-during-a-website-redesign/42824/
And yes, web hosts and web designers are generally pretty bad at SEO. Just like I am pretty bad at figuring out web hosting problems. They are the last place I would go to for help doing something as serious as this.
One client tried to do this and reached out to GoDaddy hosting. GoDaddy helped them alright. They redirected all their old URLs to the home page and turned their previous rankings into a total cluster#*%$.
Another client went to their web designer. The web designer redirected their old home page URL of
http://somedomain.com/index.html to
http://somedomain.com and thought they were done. Rankings all went in the trash.
The proper solution that any SEO will give you, as well as the solution that is outlined in numerous help articles from Google itself, is to 301 redirect old URLs to the corresponding new URL. For your internal links, you should correct them to the new URL and not rely on the 301 redirects.
From a search engine standpoint and for conserving your rankings, it is that simple. As far as any other issues you might run into when migrating a site from one CMS to another, that is technical shit for your web developer to figure out and has nothing to do with SEO or your rankings.