Given: A copy of an old non descriptor wallet (originally created 2013) on an offline system with Bitcoin Core 28. Only two addresses were used at the time (2013-2014). Bitcoin Core 28 was able to open this old wallet and it was possible to migrate it to a descriptor wallet. Now listdescriptors shows me thousands of descriptors that I don't actually need. All this on an offline machine.
What I would like to do: I would like to set up a watch-only wallet for the two addresses on an online machine and then create a unsigned transaction that transfers the coins from the old addresses to a new hd wallet.
The problem I see is that I can't generate new keys in a legacy non-hd watch-only wallet. This shouldn't actually be necessary in my case, but I still have the feeling that I'm on the wrong track here. What would be the safest course of action?
Is it possible to have legacy descriptors and hd descriptors in one wallet? Would the core client then derive the change addresses from the xpub keys?