```
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.