Now I remember, the pong example is a terrible one, I think that is being reworked by some people, also Pong could be pretty "complex" to make with modern engines (the mechanic is hard to simplify).
Ok, your scene structure is like:
Node2D [root, at (0,0)]
|-left [sprite,at (0,0) with texture offset, script]
|-right [sprite,at (0,0) with texture offset]
|-separator [sprite,at (0,0) with texture offset]
|-ball [sprite,at (0,0) with texture offset]
So, you see, the position of all your nodes are position (0,0), texture displaced on the offset value.
Your script works with the node's position (not sprite's texture offset) and there is where the logic could be failing.