If change addresses are not automatically recovered from a backup, that seems like a serious bug/shortcoming in Bitcoin Core to me.
A couple of questions.
Remember you MUST have the public keys available to you (you can find this in the explorer, ...
You write that you need the public keys, but the instructions never use them. When you wrote "public key", did you mean "address"?
How do you find the public keys (or perhaps addresses) generated by the wallet in an explorer?
Public Key = Wallet Address for this context.
The instructions do indeed use them in point #4The REASON you should have this on hand is so you can be clear how much $$ you have in those.
To find your change address, you can open the explorer of your coin and track the change addresses used when you sent money from your original wallet address (which you know because it's present in Wallet 'A').
And the thing is, why would you import a public key just to recover the change address? The change addresses should be recorded on wallet.dat and can be able to recovery by dumping all keys from your wallet.dat using pywallet.
If you have an unencrypted wallet.dat file by using Notepad, you should be able to find those change addresses under the pre-generated keys reference code below, and next to that it will show you the private key and addresses.
If you were talking about a corrupted wallet.dat, I think the only solution to recover the keys from that wallet is to salvage the wallet.
You're speaking of a different scenario. If you have Wallet B and you're able to dump keys or recover them you don't need to use this method. Please review the scenario I've mentioned in the PDF, it emphasizes that you have addresses for which the private key was not backed up and is not recoverable. Or the latest wallet.dat is lost (disk failure or suchlike)