There’s always going to be some distortion when mapping a plane to a curved surface, unless the curved surface is a cylindrical (or if all bending occurs in only two dimensions). It sounds like what you need is to have all the distortion occur within the black regions of the texture, so that the grey and white regions remain undistorted. There’s no easy way to do that, certainly vtkTextureMapToPlane isn’t capable.
If you could pre-distort the texture image so that it looks undistorted after texture mapping, the same way that video game developers create texture skins for their models, you’d be able to get a near-perfect result. This might be possible in VTK, but it would take a lot of cleverness and probably some tricky mathematics.