Ah, I got the answer after looking at one of the GitHub projects pointed to in the Reddit discussion referred to in the above Q&A:
All descendants, it seems, must have set_owner called with the root of the scene, like so:
sprites[i].set_owner(root)
and not of their immediate parent.