normals of the polydata are messed up after transform

It seems the only reason that all normals would point inwards is if the m_Thickness in your code is negative.