Why hasn't cold storage (offline signing) been supported by Bitcoin Core (GUI) up till now (0.19.0.1)?
Prior to segwit doing this securely required carrying around enormous prior transactions.

Prior to PBST there wasn't a standard serialization that covered all the interesting use-cases.

It's been possible to offline sign for years using the CLI and many people have been doing so.

More recently this PR adds a GUI for doing this using PSBT: https://github.com/bitcoin/bitcoin/pull/16944