How to get links to go through groups?

So I told you to make set Group.avoidable to false.

Are you now asking about how to make the group avoidable again, but only the header and not the area of its Placeholder?

OK, the first step is to remove the setting of Group.avoidable. Then define a subclass of Group. Then override an undocumented method, Node.getAvoidableRect, for your Group template(s) and have it modify and return the argument Rect with the bounds, in document coordinates, of the header. Something like:

function AvoidableGroup() {
  go.Group.call(this);
}
go.Diagram.inherit(AvoidableGroup, go.Group);

AvoidableGroup.prototype.getAvoidableRect = function(result) {
  result.set(this.actualBounds);
  result.addMargin(this.avoidableMargin);
  result.height = 20;  // or calculate the actual height of your header
  return result;
}

And use AvoidableGroup in your Group template(s).