Jak jste si správně všimli, v hlavním SELECT nevidíte řádky upravené v CTE . Tento je zdokumentován
:
Měli byste tedy použít RETURNING .
Myslím, že nejjednodušším způsobem by bylo nepoužít funkci, ale provést json_build_object v hlavním dotazu a nechat jej pracovat na parents CTE a children .