I agree that OP seems a little confused as to how online/offline airgapped cold storage works.
As advised you need two separate systems... one completely offline system that holds the wallet containing private keys... and an online copy of that wallet that contains no private keys that acts as the watch-only wallet.
Generate your cold storage wallet as per usual, with createwallet. Afterwards;
bitcoin-cli getdescriptorinfo
You'll get a string and that is your descriptor.
No, you won't get a string... you need to pass that command an input descriptor string and it analyses it, returning the checksum etc.
Unfortunately, because Bitcoin Core uses hardened key derivation all the way down (ie. m/0'/0'/i') you cannot easily create a watching only version of a "normal" Bitcoin Core wallet.
For instance, if you create a "normal" wallet... and then dump it, you'll get the extended master private key like this:
# Wallet dump created by Bitcoin v0.21.0
# * Created on 2021-06-11T23:47:06Z
# * Best block at time of backup was 8685 (000000008820476d20779d81d2ed114aa22577b61e1e40e299d91bf70988cef2),
# mined on 2009-03-25T20:59:48Z
# extended private masterkey: xprv9s21ZrQH143K3mF25T1KpmGiojVWQ4N6zzJaxk9yLaWmVdWmwJtueBJruUkhX26Sme6es9kZfavLwFAugb8q7DxS5Wd32NAQfUo8QBfoiqA
L4ouTnsZvT6NJvi7HSseBd1vuDxxTTtoF4nKiWyN7dCpNAgGs5SY 2021-06-11T23:46:08Z reserve=1 # addr=bc1qqy2hj4q3upyc8znszwwukpndslpv9ctukses8q hdkeypath=m/0'/0'/488'
Kx1BkDVKwzNTeMH8ix1nUsKM3MMqQ69XK4ho4HEzRpZ65no4g1zF 2021-06-11T23:46:08Z reserve=1 # addr=bc1qqyt779387eqr2cxwy5gnedtdc4m48k7svma8gs hdkeypath=m/0'/0'/441'
KzmKmp4yU2Q3xoAKECnkxaz67WcTJAeYowbCp35PrFvJ3MKaLM2Y 2021-06-11T23:46:08Z reserve=1 # addr=bc1qqy5dxals4w9t8vjwr8vslzpf6sajaq0d4y8qec hdkeypath=m/0'/0'/51'
But as you can see, the hdkeypaths are all hardened all the way down to the index level
So, it is impossible to use xpub that will generate these addresses.
Instead, you would need to create a descriptor wallet that imports an xprv using at least 1 level of unhardened children (ie. m/i or m/0'/0'/i etc)... then you could use the matching extended xpub to create the watching only wallet.