> I wonder if it's also theoretically possible for a pair of clients to connect to each other like this?

RFC793 actually specifically calls this out as one of the supported ways of two endpoints establishing a TCP connection[0]. The fact that it works on the same host via src port collision is just a happy accident.

[0] - https://www.rfc-editor.org/rfc/rfc793.html#section-3.4