It'd be impossible to prevent you from spending the funds until the custodian decides to spend it themselves (which could be days from when you first "send" it).
IMO a more interesting proposal is using PayJoins for such things. Imagine you're depositing funds to an exchange, and at that time the exchange has some withdrawals queued up. They could use PayJoin to have you pay the people they owe money to instead of the exchange itself leading to better blockspace usage.
Yes, I meant that the custodian would only credit you after they successfully spend your UTXO meaning its in a transaction with 1+ confirmations.
Your idea is much better. Both ways use the same method to save fees but your way does not require sharing the private key which is definitely an improvement.
reply