Вы можете попробовать использовать Geometry.Combine. Это применяет преобразование во время объединения. Единственный улов в том, что Объединение работает, только если у вашей Геометрии есть площадь, поэтому отдельные линии не будут работать.
Вот пример, который работал для меня.
PathGeometry geometry = new PathGeometry();
geometry.Figures.Add(new PathFigure(new Point(10, 10), new PathSegment[] { new LineSegment(new Point(10, 20), true), new LineSegment(new Point(20, 20), true) }, true));
ScaleTransform transform = new ScaleTransform(2, 2);
PathGeometry geometryTransformed = Geometry.Combine(geometry, geometry, GeometryCombineMode.Intersect, transform);