This is a tricky question as it tackles the difference between what the protocol supports and what implementations provider as an API.
On a protocol level channels are enabled / disabled via an update message on the gossip Protocol. Nodes SHOULD set the disabled flag and send such a message if they are shutting down or turning (shortly) off for maintenance....
This sounds like the age old proverb of "Good, Cheap or Fast - Pick Two"
I like your original suggestion, but you do have options:
Close all channels, wait an hour, then restore the new lnd node w/ your mnemonic seed and password.
Close all channels, wait an hour, send an on-chain transaction from your original lnd node to the new lnd node.
Dont close ...
Normally, a request to open a new channel arrives at the LND daemon via ... After doing some parsing and sanity checking of the received gRPC arguments, ... such as funding UTXOs to prevent them from being double-spent