The help tells me I should unlock my encrypted wallet:

```
> help migratewallet

...
Requires wallet passphrase to be set with walletpassphrase call if wallet is encrypted.
```

But when I do so and attempt to migrate the wallet I'm told that I've entered my password for needlessly:

```
> migratewallet

Error: migratewallet on encrypted wallets is currently unsupported.
```

<!-- What version of Bitcoin Core are you using, where did you get it (website, self-compiled, etc)? -->

v24.0.1

ForEachAddrBookEntry([&result, &filter](const CTxDestination& dest, const stdstring& label, const stdstring& purpose, bool is_change) {
        // Filter by change
        if (filter.ignore_change && is_change) return;
        // Filter by label
        if (filter.m_op_label && *filter.m_op_label != label) return;
        // All good
        result.emplace_back(dest);
    });
    return result;
}
stdset<stdstring> CWalletListAddrBookLabels(const stdstring& purpose) const
{
    AssertLockHeld(cs_);
    stdset<stdstring> label_set;
    ForEachAddrBookEntry([&](const CTxDestination& _dest, const stdstring& _label,
                             const stdstring& _purpose, bool _is_change) {
        if (_is_change) return;
        if (purpose.empty() || _purpose == purpose) {
            label_set.insert(_label);
        }
    });
    return label_set;
}
utilResult<CTxDestination> ReserveDestinationGetReservedDestination(bool internal)
{
    m_spk_man = p->GetScriptPubKeyMan(type, internal);
    if (!m_spk_man) {
        return utilError{strprintf(_("Error No %s addresses available."), FormatOutputType(type))};
    }
    if (nIndex == -1) {