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.

s << MakeSpan(ParseHex(
        "02"                                  
        "10"                                  
        "fd6b88c08724ca978112ca1bbdcafac2")); 
                                              
    s >> addr;
    BOOST_CHECK(addr.IsInternal());
    BOOST_CHECK(addr.IsAddrV1Compatible());
    BOOST_CHECK_EQUAL(addr.ToString(), "zklycewkdo64v6wc.internal");
    BOOST_REQUIRE(s.empty());
    
    s << MakeSpan(ParseHex("02"    
                           "04"    
                           "00")); 
    BOOST_CHECK_EXCEPTION(s >> addr, std::ios_base::failure,
                          HasReason("BIP155 IPv6 address with length 4 (should be 16)"));
    BOOST_REQUIRE(!s.empty()); 
    s.clear();
    
    s << MakeSpan(ParseHex("02"                                  
                           "10"                                  
                           "00000000000000000000ffff01020304")); 
    s >> addr;
    BOOST_CHECK(!addr.IsValid());
    BOOST_REQUIRE(s.empty());
    
    s << MakeSpan(ParseHex("02"                                  
                           "10"                                  
                           "fd87d87eeb430102030405060708090a"));