Every connection between relays is bidirectional and symmetric once established.
But how these connections are configured is not symmetric. There is a distinction between accepting a connection from a peer passively, and contacting a peer actively.
This is reflected in the configuration file, where the in_routes mapping specifies ways to accept incoming connections, while the out_routes mapping specifies specific outgoing connections.