Probably something like this, but that only makes sense if something was added, not removed.
'hooks' => [
'page.update:after' => function ($newPage, $oldPage) {
$oldRelatedPages = $oldPage->related()->toPages();
$newRelatedPages = $newPage->related->toPages();
$relatedPages = $newRelatedPages->not($oldRelatedPages);
foreach ($relatedPages as $relatedPage) {
$relatedPageRelatedPages = $relatedPage->related()->toPages();
$relatedPageRelatedPages = $relatedPageRelatedPages->add($newPage);
$relatedPage->update([
'related' => Data::encode($relatedPageRelatedPages->toArray(), 'yaml'),
]);
}
}
]
(Not tested).
To be honest, I don’t really think this is the best way to go about this. If a page A is related to page B, that automatically means that page B is also related to Page A and IMO it is not necessary to store this information in both pages.