Change Location to just refer the list.
The above SetValue expression should give you the expected result.
The default behaviour of a SetValue to a List variable is Append (Not overwrite).
So for e.g, If you assign something like this:
listVar = obj1
listVar = obj2
listVar = obj3
listVar = obj4
The output of list variable will contain 4 items within it.
However, I dont find any issue in your expression too. Let me run your logic in my sandbox and see what happens!
Thanks for your reply.
Sadly, I get the same result when trying to apply your solution.
I should mention that I am running ES2 SP1.