Display Nested Content Type References In D8
Yes I was missing an obvious answer. As provided by steeph on drupal forum.

Have an entity reference (unlimited) that points at the children. In the content type teaser display include the children field and set that to display the teaser view. You then have a recursive view of all descendants in teaser view mode. Obviously you could create a custom view mode if needed but this is the principle.

Create a view which at the top level only displays views which have no parent (using relationship and filter). Make sure it is set to display content>teaser and you should be seeing a flat list of instances. Use css to add a margin-left to your list-items and job done.