Whenever using the node label paramter plugin to parameterize a Pipeline job it tries to allocate a flyweight executor on the node given as parameter.
However the Pipeline script itselt seems to be still executed on the master.
But it still has some influence on the Pipeline execution as - depending on the node selected - sometimes our implicitly loaded global shared Pipeline library cannot be cloned.
Please check following simple script. Put the node offline before running - you'll see that the Pipeline is waiting for that node. However if you just block the selected node by running some other job it'll still execute. And - anyway - the job should not be blocked until it finally reaches the node block which actually uses that node.