You need to look very carefully at the data sheet for the relationship between the quadrature pulses and the index pulse. It looks like there are four quadrature transitions between the leading and trailing edges of the index pulse, so how you use the index pulse will matter for the count you see.
I would recommend working exclusively with raw counts, and leave out the float math until you understand fully what you are seeing.
You can also try reading the encoder at half resolution (one interrupt pin and one standard i/o pin). If you are indeed missing counts because of the speed of the encoder, you should see less effect with half the interrupts.
I placed a reference point on the wheel and one on the fence it glides on. And thats how i came up with full rotations.
I'm actually of the opinion that your encoder reading is correct, and there are issues with your how you are trying to validate its performance. Moving a wheel back and forth to see if you can be accurate to .0015 is not something to eyeball. If you come to a hard stop and zero the count, and then move out to another stop(or some number of index pulse interrupts) is the count repeatable for multiple measurements in the same direction?