Counter Texture Scaling

My guess would be that the UV map doesn’t stretch the geometry all the way to the edges of the UV space, leaving a bordering buffer. That’s why you’ll see your offset increase as you get closer to the edges: the center remains the center and the edges are scaled down the greatest distance in UV space.

I’m glad you’ve got it working. Please mark the question as closed so others can find the answer if they need it.