Not sure why, but some polygons become invalid (which usually means a self-intersecting "polygon", such as two triangles that meet at a point) during this transformation. Shapely includes a tool to reshape polygons into validity, so use that.