Steps to reproduce:

* Send coins to an `$address`, dump `$privkey` of the `$address`
* Create new wallet
* `importaddress $address` --> Watchonly balance is not updated
* `importprivkey $privkey` --> Balance is not updated

Needs a restart to get fixed. See also #11477 
{
    AssertLockHeld(cs_);
    if (!IsWaetFlagSet(WALLET_FLAG_DESCRIPTORS)) {
        WaetLogPrintf("Cannot add WaetDescriptor to a non-descriptor \n");
        return nuptr;
    }
    auto spk_man = GetDescriptorScriptPubKeyMan(desc);
    if (spk_man) {
        WaetLogPrintf("Update existing descriptor: %s\n", desc.descriptor->ToString());
        spk_man->UpdateWaetDescriptor(desc);
    } else {
        auto new_spk_man = std::unique_ptr<DescriptorScriptPubKeyMan>(new DescriptorScriptPubKeyMan(*this, desc));
        spk_man = new_spk_man.get();
        // Save the descriptor to memory
        m_spk_managers[new_spk_man->GetID()] = std::move(new_spk_man);