Given that OP says that none of the transaction have been broadcast, and I can certainly not find any of them in a handful of mempools I have just checked, would it not be easier for him to just use
abandontransaction on the first one, which will abandon all three transactions and allow the inputs to respent directly from Core. He can then just create and broadcast transactions the usual way without having to manually script anything.
OP, see here for more information:
https://bitcoincore.org/en/doc/0.21.0/rpc/wallet/abandontransaction/