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"
    }
  }
]
```
if (!witness_script_hex.empty() && script.IsPayToWitnessScriptHash()) {
            if (!IsHex(witness_script_hex)) {
                throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid witness script: must be hex string");
            }
            
            std::vector<unsigned char> witness_script_parsed(ParseHex(witness_script_hex));
            CScript witness_script = CScript(witness_script_parsed.begin(), witness_script_parsed.end());
            CScriptID witness_id(witness_script);
            
            if (GetScriptForDestination(WitnessV0ScriptHash(witness_script)) != script) {
                throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "The witnessScript does not match the scriptPubKey or redeemScript");
            }
            
            if (!scriptpubkey_script.IsPayToScriptHash() && !pwallet->AddWatchOnly(witness_script, timestamp)) {
                throw JSONRPCError(RPC_WALLET_ERROR, "Error adding address to wallet");
            }
            if (!pwallet->HaveCScript(witness_id) && !pwallet->AddCScript(witness_script)) {
                throw JSONRPCError(RPC_WALLET_ERROR, "Error adding p2wsh witnessScript to wallet");
            }
            
            script = witness_script;
            ExtractDestination(script, dest);
            allow_p2wpkh = false; 
        }
        
        if (dest.type() == typeid(CKeyID) || dest.type() == typeid(WitnessV0KeyHash)) {
            if (!allow_p2wpkh && dest.type() == typeid(WitnessV0KeyHash)) {
                throw JSONRPCError(RPC_INVALID_PARAMETER, "P2WPKH cannot be embedded in P2WSH");
            }
            if (keys.size() > 1 || pubKeys.size() > 1) {