Steps to reproduce on regtest:

```
converttopsbt 02000000000101ab73dba46508bacdb49a988ddd74bc9d39c9cb7e057af060ca8c6b6861e28e3c0300000000feffffff02b828d0b20000000017a914d1954862afd728fbb055149002958e1d1b9e1f0b8700ca9a3b0000000017a91442170ccb3441cff1723af9afab6f2553103e1d578702473044022077380c6e16496d9905aef120694c329be51522847cb5d53fa74b94698c95678d02202d32c46e0e17420a83dee830fefda7d40529182f5d82be47c2b49a7b83214ab50121026d483d6628dcc3ef6e3ab9ed4937c452c263c7e0ac80eb4be97426d5da8f640500000000
```
or 
```
converttopsbt 02000000000101ab73dba46508bacdb49a988ddd74bc9d39c9cb7e057af060ca8c6b6861e28e3c0300000000feffffff02b828d0b20000000017a914d1954862afd728fbb055149002958e1d1b9e1f0b8700ca9a3b0000000017a91442170ccb3441cff1723af9afab6f2553103e1d578702473044022077380c6e16496d9905aef120694c329be51522847cb5d53fa74b94698c95678d02202d32c46e0e17420a83dee830fefda7d40529182f5d82be47c2b49a7b83214ab50121026d483d6628dcc3ef6e3ab9ed4937c452c263c7e0ac80eb4be97426d5da8f640500000000 false
```

Further reading: #13738
UniValue subtractFeeFromAmount(UniValue::VARR);
    if (!request.params[4].isNull())
        subtractFeeFromAmount = request.params[4].get_array();
    CCoinControl coin_control;
    if (!request.params[5].isNull()) {
        coin_control.m_signal_bip125_rbf = request.params[5].get_bool();
    }
    if (!request.params[6].isNull()) {
        coin_control.m_confirm_target = ParseConfirmTarget(request.params[6], pwallet->chain().estimateMaxBlocks());
    }
    if (!request.params[7].isNull()) {
        if (!FeeModeFromString(request.params[7].get_str(), coin_control.m_fee_mode)) {
            throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid estimate_mode parameter");
        }
    }
    std::set<CTxDestination> destinations;
    std::vector<CRecipient> vecSend;
    std::vector<std::string> keys = sendTo.getKeys();
    for (const std::string& name_ : keys) {
        CTxDestination dest = DecodeDestination(name_);
        if (!IsValidDestination(dest)) {
            throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid Bitcoin address: ") + name_);
        }
        if (destinations.count(dest)) {
            throw JSONRPCError(RPC_INVALID_PARAMETER, std::string("Invalid parameter, duplicated address: ") + name_);
        }
        destinations.insert(dest);
        CScript scriptPubKey = GetScriptForDestination(dest);
        CAmount nAmount = AmountFromValue(sendTo[name_]);
        if (nAmount <= 0)