I appreciate I can do offline singing with bitcoin-core, but it's complex. To make it easier, I would have to download the entire blockchain.
I have searched up electrum, but can't seem to find a testnet option.
Testnet transactions have the same format as mainnet transactions, so you can just create a raw transaction on your online testnet wallet, and get it signed by Electrum with a private key it thinks is associated with a mainnet address (the version byte is different, so the same hexadecimal private key will generate a different address on the testnet and on the mainnet, but the signature will still be valid).
It looks like a testnet option was merged in early 2017, but I'm not sure if it was released: