I just encountered this issue as well. For anyone else reading this the solution I found was to use the “OneMinus” node on the product of the value derived from the absolute world position and plug the result of that into the texture sample instead. This is needed as UV inputs gradient from right to left, and from bottom to top, which is why the texture appears upside down. Subtracting the value from 1.0 reorders the values from left to right, and top to bottom, as you would expect.