It seems that it would otherwise silently skip the rescan for pre-backup used keys that are still waiting to be generated into the keypool?

See also #11249 
: pwallet(pwallet)
      , type(type) { }
    ReserveDestination(const ReserveDestination&) = delete;
    ReserveDestination& operator=(const ReserveDestination&) = delete;
    
    ~ReserveDestination()
    {
        ReturnDestination();
    }
    
    util::Result<CTxDestination> GetReservedDestination(bool internal);
    
    void ReturnDestination();
    
    void KeepDestination();
};
class CAddressBookData
{
private:
    bool m_change{true};
    std::string m_label;
public:
    std::string purpose;
    CAddressBookData() : purpose("unknown") {}