It looks like one of the end faces is wound the wrong way. That would cause vtkPolyDataNormals to produce “inward” normals instead of “outward” normals.
I suspect that vtkTransformPolyDataFilter is not the problem. Instead, I think you might have discovered a bug in vtkTubeFilter: it winds one end cap correctly, but winds the other end cap inside-out.
If you remove vtkTransformPolyDataFilter, but keep vtkPolyDataNormals, do you get the same result? Try the following pipeline:
vtkTubeFilter -> vtkTriangleFilter -> vtkPolyDataNormals