Answer
Check how variables are actually being referenced across the workflow's different task types — in a script task, read a variable with execution.getVariable(...) (not a bare reference), and for a simple one-line assignment there's no need to declare it with var first; to set a variable, use execution.setVariable(<name>, <value>). In a Projection Delegate task specifically, variables need to be referenced using expression-language syntax (like ${variableName}), not the plain JavaScript variable-reference style used in script tasks — mixing up these two referencing styles across task types is a common cause of arguments silently not being passed the way they're intended.