I used your method, restoring in 1.9.x (worked) then opened in 2.0.2, but upon opening in v2 there were no addresses listed. All this was done offline on an airgapped machine. However upgrading through the master public key from 1.9.x -> 2.0.2 works on the online watch-only wallet.
I don't mind having to do a migration to using different addresses, but I would like to keep the same seed as little changed as possible. Having to add some words to it to clear the checksum is fine.
My problem is that I used 1.9.x by providing it a hex string. This string is then turned into the 24 word seed. In v2 I can also no longer provide hex strings to recover the wallet.
What is the algorithm in v2 for generating the seed from a set of master hex bits? If there is some method to go from that string to a new seed that would also work.
f(hex string) -> seed
I'll look into the make_seed method you mention.