How to model many to many connection?

Yes I think that is possible. We can have a schema like this:

type Domain {
  DomainID: ID!
  source: [Domain]
  target: [Domain]

With a schema like this you can connect domains without Connections type. In order to handle links you can use facet and also it is feasible to sort by facets.