You are right and thank you for sending the lines of the default behaviour.
After some investigations, I think I'm missing CORE_PEER_GOSSIP_EXTERNALENDPOINT.
I have CORE_PEER_GOSSIP_BOOTSTRAP configured on both peer2 from org2 and org1 and they both communicate with peer1-org2 and peer1-org1 respectively. But there is no gossip between orgs. Currently checking the effect of both variables in this setup.