I’m not sure what you mean when you say you “supply the range”.
In any case, you should be able to work around this by instantiating your vtkPolyDataMapper as a vtkOpenGLPolyDataMapper and then calling
mapper->SetVBOShiftScaleMethod(vtkOpenGLVertexBufferObject::DISABLE_SHIFT_SCALE);
I was surprised to see that the mapper does this range computation by default. It’s very computationally expensive. Looks like it was a recent change to VTK (just a couple years old).