It's not clear to me if dropping support for this functionality was intentional.

Chain of events:

- #21689 removed test coverage due to a misunderstanding due, I believe, to this functionality being generally supported by all platforms except macOS which does not and returns a different format
- #21756 removed support and caused this regression
- #21690 restores the test coverage that would have caught this regression

Currently, neither the test coverage before #21689 nor the coverage restored by #21690 pass since the merge of #21756.

nBits = ADDR_INTERNAL_SIZE * 8;
    } else if (!IsRoutable()) {
        
    } else if (HasLinkedIPv4()) {
        
        uint32_t ipv4 = GetLinkedIPv4();
        vchRet.push_back((ipv4 >> 24) & 0xFF);
        vchRet.push_back((ipv4 >> 16) & 0xFF);
        return vchRet;
    } else if (IsTor() || IsI2P() || IsCJDNS()) {
        nBits = 4;
    } else if (IsHeNet()) {
        
        nBits = 36;
    } else {
        
        nBits = 32;
    }
    
    const size_t num_bytes = nBits / 8;
    vchRet.insert(vchRet.end(), m_addr.begin(), m_addr.begin() + num_bytes);
    nBits %= 8;
    
    if (nBits > 0) {
        assert(num_bytes < m_addr.size());
        vchRet.push_back(m_addr[num_bytes] | ((1 << (8 - nBits)) - 1));
    }
    return vchRet;
}
std::vector<unsigned char> CNetAddr::GetAddrBytes() const