This guide makes no sense. There is no need to call importaddress for every change address; all of the change addresses are already, or will be, in the wallet after keypoolrefill. All that will probably happen is that you confuse users because any of the change that is detected via the import will be shown as watchonly first, until the private key is generated.
If you have a backup of your wallet, all you have to do is perform a rescan. Hell, most of the time you don't even need to explicitly rescan because the wallet will rescan by itself when it sees it is not up to the chain tip. You literally just have to load it and wait.
You're talking about a different case where you have a backup of the latest wallet. Which doesn't match the scenario I've stated.
I did come across this issue for an altcoin and had to do this in order to have the wallet retain valid addresses. Rescan (starting from an old wallet) and Salvage (on the corrupted wallet in my case) did not yield results.
However importing the addresses in advance before keypoolrefill resulted in the right outcome and I did recover all of it.