Creating a graph from json using apoc.graph.fromDocument - children's children do not appear in graph

What you have is recursive json data. This can be especially tricky to handle properly, but there is a related post which should help:

Explaination

apoc.load.json supports jsonpath, allowing you to restructure the json into something more manageable.

Go to jsonpath.com, and experiment with paths which give you a flat list of all "children". Create a node for every ID, then MERGE your way through as you iterate.