Bitcoin addresses, and the public key by extension, should ideally only ever be used once. So your time of exposure of the public key in P2PKH is the time between when the spend is made and when it confirms. For P2PK the public key is always known to everybody. There's a considerable difference between the two.
Yes, it's even easier using Bitcoin Core 0.21.0, descriptors and PSBTs.
How to spend/sweep p2pkh UTXOs air-gapped using Bitcoin Core's 0.21.0 GUI and PSBTs.
Here are the required steps, many of them have to be entered into Bitcoin Core's console.
(best to use a laptop booted from a Ubuntu USB-stick and no internet connected)
export the descriptor of ...
This is a P2PKH (Pay-to-public-key-hash) address which means a2fd2e039a86dbcf0e1a664729e09e8007f89510 is the hash of your public key. Here is a step by step guide on how to go from public key to address