I am running it with i2p just for few days, checking peer list randomly and mostly there are at least 2 nodes over i2p, 2 nodes over ipv4 and 15 nodes over onion.
I did not find way how to balance connection between different networks. I did reduce number of connections and maybe if I will increase limit then it will be more balance, but I dont know.
bitcoind tries to maintain at least one outbound connection to each reachable network. The remaining outbound connections are chosen randomly and depend on the distribution of addresses in the list of known peers.
Use e.g. bitcoin-cli getnodeaddresses 0 ipv4 |jq length to see the number of known IPv4 peers.
Inbounds are not controlled or tried to be balanced.
reply