I need this for some stuff, but it also makes sense on its own to: unify the flow with a private _create_utxo helper simplify the flow by giving the caller ownership of the utxo right away
Backport of core#25445.
Depends on D12736.
Note that all the changes are not applicable to our codebase but the most important ones do.