The way you think is right, is right. The image I posted is actually incorrect. I blame it on being burnt out.
But if you want a more detailed answer other than you are right and that reference is wrong, here it is:
when the if/then is evaluated is starts at the output and works inwards. It is a recursive function. So it looks at the main node, then its child nodes until there are no more children. So it evaluates the furthest nested node first. So with the variable-set, everything before it gets stored in the variable. So in what you are trying to do is correct.
The problem is the configurator checked if it was a variable or not, and if it was a boolean or numeric varaible. This is all fine and dandy for varaible-get modules, but variable-set modules are "typeless" so to speak as in they just pass through the previous value, and the configurator was not checking for this. It is now though and you can link it the proper way now.
I guess I can test out my updater.