Which part of the code is not working? The first thing I would check is if the fetch return anything. This is done with the attribute operator. After your {let category_list} insert this:
{$category_list|attribute(show)}
Also, turn on debugging and check the output for any template errors.
Tanks for the tip $DesignKeys:used.parent_node worked. I remember that $DesignKeys did not work in the same template in 3.3. This was because $DesignKeys was not updated the same way as $node and $module_result or something like that! EZ must have changed this in 3.4.
But how do I get the related objects part of the code to work? Yes It's a pagelayout.tpl. In 3.3 I solved this problem with not caching this part of the code but in 3.4 I don't have this alternative.