@BobRay Thank you!
It's the first time for me too, where i have to use nested conditional output modifiers. I will keep the suggested solution using a snippet in mind but for now it seems there is not noticeable performance drop using this strange nested syntax.
But I still do not understand why MODX takes the time for parsing unnecessary parts of a conditional statement instead of just skipping the the non-matching branch.
If the page is cached, it shouldn't make much difference, but since MODX likes to clear the whole cache when you save a page, that can affect the time for the first person to visit the page after a cache clear.
I'd still like to know why +id is empty. I've had this error on resources that have been there for years.