I think it should be possible to optionally whitelist outgoing connections - specifically those that are explicitly created through connect, addnode. Context: I regularly need to bypass this code in testing setups to be able to sync non-internet connected nodes: https://github.com/bitcoin/bitcoin/blob/master/src/net_processing.cpp#L1720
Also in the interest of symmetry I don’t see why whitelisting would only apply to incoming connections.