Now, some time later, I want to sell my bitcoin. Can I move my bitcoin from my cold wallet to a different exchange, say BlockFi, and sell it there?
When you withdraw Bitcoin from Coinbase exchange to your own wallet (hardware or software) you will have full control over your coins, if you keep your backup seed phrase secure.
You can than move those coins anywhere you want, but there is a big BUT because some exchanges are starting to block or freeze accounts of people that get flagged by some chain analytics software algorithm.
I heard exchanges may even ask to show them more information about your personal life, what is your job and income, why you trade crypo, show transaction history, and all kinds of crap like that.
Most of the time that won't happen, but for any reason they can just say your coins are ''tainted'' even if they are not, so I suggest better use decentralized exchanges like Bisq and p2p trading.