Bitcoin core - creating transaction from UI without broadcasting it
1) First you can add connect=1.1.1.1 to your bitcoin.conf. Your node won't search for other nodes and just try to connect to 1.1.1.1. Since 1.1.1.1 is not a node, your node will have 0 peers.

2) Then you can make the transaction, open the debug console and enter: gettransaction YOURTXID. (or getrawtransaction to get the hex encoded transaction)

3) Then you can close Core, add zapwallettxes=1 to bitcoin.conf and start Core to remove unconfirmed wallet transaction you've made to cancel it.