Importing a native P2WPKH script & pubkey via `importmulti` fails:

Since the pubkey is required due to issue #14405, I tried to import a native P2WPKH script together with its pubkey. It looks like importmulti assumes legacy P2PKH?
But maybe I'm doing something wrong.

Input...
* address `bcrt1qlqx4gx4qftlfe94n48ttchsptxqwt7je7tddna`
* pubkey `027dbe32bdf80ef2312f8280bd37bf69c31322745af5ebded6294969ff19c20da3`
* scriptPubKey: `0014f80d541aa04afe9c96b3a9d6bc5e015980e5fa59`

Call: `importmulti '[{"scriptPubKey": "0014f80d541aa04afe9c96b3a9d6bc5e015980e5fa59", "pubkeys": ["027dbe32bdf80ef2312f8280bd37bf69c31322745af5ebded6294969ff19c20da3"], "timestamp": "now", "watchonly": true}]' '{"rescan": false}'`

Call fails with:
```json
[
  {
    "success": false,
    "error": {
      "code": -5,
      "message": "Consistency check failed"
    }
  }
]
```
const UniValue& requests = mainRequest.params[0];
    
    bool fRescan = true;
    if (!mainRequest.params[1].isNull()) {
        const UniValue& options = mainRequest.params[1];
        if (options.exists("rescan")) {
            fRescan = options["rescan"].get_bool();
        }
    }
    WalletRescanReserver reserver(pwallet);
    if (fRescan && !reserver.reserve()) {
        throw JSONRPCError(RPC_WALLET_ERROR, "Wallet is currently rescanning. Abort existing rescan or wait.");
    }
    int64_t now = 0;
    bool fRunScan = false;
    int64_t nLowestTimestamp = 0;
    UniValue response(UniValue::VARR);
    {
        LOCK2(cs_main, pwallet->cs_wallet);
        EnsureWalletIsUnlocked(pwallet);
        
        now = chainActive.Tip() ? chainActive.Tip()->GetMedianTimePast() : 0;
        for (const UniValue& data : requests.getValues()) {
            GetImportTimestamp(data, now);
        }
        const int64_t minimumTimestamp = 1;
        if (fRescan && chainActive.Tip()) {
            nLowestTimestamp = chainActive.Tip()->GetBlockTime();
        } else {
            fRescan = false;