I now do it manually every time:
1. install a fresh copy of wordpress at destination
2. copy wp-contents to override the folder that comes with the fresh install
3. dump the whole DB into the new one (dropping all tables of the fresh install first)
4. use a script to safely replace all DB entries containing the Site URL from the former to the new one
5. update permalinks
after many tries, I feel that this is the simplest / what works the best and most consistently for me. I wish a plugin could do all these steps for me, but I can’t rely on a plugin that works only part of the time.
Cheers!