Instead of trying to load an official mission with tf_mvm_popfile, try copying that mission's popfile and renaming it to whatever your map's filename is.
I don't know why this works, but someone in chat was having the same issue, sent me their map, and doing that fixed it.
The reason is:
When an mvm map is loaded, the game logic will go through some checks:
-Does the nav mesh file exist? If yes load file named mapname.pop (if your map is named pl_test, the population manager will load pl_test.pop)
But if the mapname.pop is missing, some functions inside population manager will be "disabled". So even if you attempt at using tf_mvm_popfile popfilename, it won't reset the map. In order to load a mission from another map if you have the Wave 0 bug, do the following steps:
-Type tf_mvm_popfile mvm_coaltown, in console.
-Open in game vote menu, and call a restart mission vote.
-After that vote, the game should reset your map, and load mvm_coaltown.pop, if it didn't, then you need to do those extra steps:
-Type mp_restartgame_immediate 1 in console, wait ~5 secs, type mp_restartgame_immediate 1, the map should be now reseted and mvm_coaltown popfile loaded.
If the mission is still not changed after this, then you are probably missing some of this:
-Navmesh file.
-Blue robot spawn point entity.
-item_teamflag entity.
-func_capturezone brush entity.
-tf_logic_mann_vs_machine entity.