It is giving you the local Y location. But the local Y location does not change with rotation. You move, then you rotate:
If the driver isn't giving you what you want, then it's not local Y location that you want. But what do you want? Is it the projected distance to this plane, oriented with the driving bone, running through the origin?
If you want, you can get that distance. Make a bone at the location of your root and parent it to your root, then give it a copy rotation constraint, world->world, targeting your deforming bone. Then create a child bone of the deforming bone, at the same location as the deforming bone, and floor it (with rotation enabled) to the new child of your root. Now you have a bone whose local Y location measures the distance to that plane. Everything you need to know is shown below:
However, that's probably not what you want. Notice what happens when you rotate your deforming bone: the distance to the plane decreases, with rotation alone:
And what it looks like you want is to have your tread magically know how far it's traveled. But rotation in place shouldn't rotate the tread, at least, not to that extent.
The bad news is, there's no way to do that with drivers and constraints, because how far it's traveled depends on the exact path it took. Did it take a straight line? Then the tread didn't have to rotate very much. Did it curve? Then the tread had to rotate more. But drivers and constraints don't know what happened on any frame other than their own.
If you want to make the tread know how far to travel, you have to define the path that it traveled, using some kind of curve object. Once you do that, you can figure out how far the tread needs to move by how far along that curve object you are. But you can't do it without that curve.