Two birds with one stone: replacement of #26278 with simplification of the MiniWallet's transaction creation logic.
Currently the MiniWallet creates simple txns (1 input, 1 output) with create_self_transfer. #24637 introduced create_self_transfer_multi which uses create_self_transfer to create a "transaction template" which then adjusts (copy and mutate inputs and outputs) in order to create more complex multi-input multi-output transactions.
This can more easily lead to issues such as #26278 and is more of a maintenance burden.
This PR simplifies the logic by going the other way around. Now create_self_transfer uses create_self_transfer_multi.
The transaction creation logic has been moved to create_self_transfer_multi which is being called by create_self_transfer to construct the simple case of 1 input 1 output transaction.