It seems to me that you imported the descriptor without activating the descriptor that you intend to use only for receiving,
Basically you didn't include the "active":true argument in the descriptor for receiving and you also didn't include the argument: "internal":true in the descriptor you want for change addresses.
I assume you already know how to import the descriptor, so I'll skip the part on how to assemble a descriptor and get the checksum.
In the receive descriptor, you must include the argument: "active":true, in the change descriptor you must include both: "active":true,"internal":true. I'll leave the examples below and bold them to indicate what was missing in your descriptor. My example is in the console gui.
Descriptor you would use to receive: importdescriptors '[{"desc":"tr(your_xpriv/86h/0h/0h/0/*)"#checksum","timestamp":"now",
"active":true}]'
importdescriptors '[{"desc":"tr(your_xpriv/86h/0h/0h/0/*)"#checksum","timestamp":"now","active":true}]'
change descriptor: importdescriptors '[{"desc":"tr(your_xpriv/86h/0h/0h/1/*)"#checksum","timestamp":"now",
"active":true,"internal":true}]'
importdescriptors '[{"desc":"tr(your_xpriv/86h/0h/0h/1/*)"#checksum","timestamp":"now","active":true,"internal":true}]'
As for the "importmulti, sethdseed, importprivkey" commands, they only work on legacy wallets, as the error statement says.