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.

{
    SOCKET hSocket = INVALID_SOCKET;
    NodeId id = 0;
    in_addr ipv4Addr;
    ipv4Addr.s_addr = 0xa0b0c001;
    CAddress addr = CAddress(CService(ipv4Addr, 7777), NODE_NETWORK);
    std::string pszDest;
    std::unique_ptr<CNode> pnode1 = std::make_unique<CNode>(
        id++, NODE_NETWORK, hSocket, addr,
         0,
         0,
        CAddress(), pszDest, ConnectionType::OUTBOUND_FULL_RELAY,
         false);
    BOOST_CHECK(pnode1->IsFullOutboundConn() == true);
    BOOST_CHECK(pnode1->IsManualConn() == false);
    BOOST_CHECK(pnode1->IsBlockOnlyConn() == false);
    BOOST_CHECK(pnode1->IsFeelerConn() == false);
    BOOST_CHECK(pnode1->IsAddrFetchConn() == false);
    BOOST_CHECK(pnode1->IsInboundConn() == false);
    BOOST_CHECK(pnode1->m_inbound_onion == false);
    BOOST_CHECK_EQUAL(pnode1->ConnectedThroughNetwork(), Network::NET_IPV4);
    std::unique_ptr<CNode> pnode2 = std::make_unique<CNode>(
        id++, NODE_NETWORK, hSocket, addr,
         1,
         1,
        CAddress(), pszDest, ConnectionType::INBOUND,
         false);
    BOOST_CHECK(pnode2->IsFullOutboundConn() == false);