It seems like what you really want is for the group’s placeholder to act as a viewport, but GoJS does not have this functionality as groups cannot clip their parts. Any solutions we have for this problem, like Scrolling Group, are just workarounds.
So the problem you are seeing in this case is that the ScrollingGroupLayout lays out nodes in a simple vertical arrangement, while you want to use a TreeLayout. I don’t think this is possible due to the nature of groups being unable to clip their members. Because you have nodes and links at different levels, it isn’t as simple as just setting their visibility as a workaround.