Scaling U and V values of Geom objects

Hi,
to match a specific geometry (with dimensions) to a simulation mesh (dimensionless and normalized) I tried scaling the model.
When using:

BRepBuilderAPI_Transform scaling(shape, scaling_trf)

The shape is correctly scaled, as expected, the UV values, however, are still in the original size.
Later on, when using projections and other functions where the UV values are used the old size is a problem.
The original tolerance is now too rough for the XYZ values (let's say I scaled it with 0.001). If I decrease the tolerance, however, the functions that use UV values with tolerance will fail (let's say a projection with tolerance 1e-10 instead of Precision::Confusion()).

To solve this I would like to scale the UV values, so that they are in the same range as the XYZ values.

Is there a way of scaling the Geom_Surface or Geom_Curve objects within a TopoDS_Face or TopoDS_Edge?

I noticed, that if I create a curve from scratch I can scale the UV values.
However, when I have an edge I cannot scale the UV values of the geometry.

To get the handle to the Geom_Curve and scale it I am using:
Standard_Real first = 0, last = 0;
TopLoc_Location loc;
auto new_handle = BRep_Tool::Curve(edge, loc, first, last);
new_handle->Scale(gp::Origin(), 1000);

Is there another way of scale the UV? Or am I accessing the Geom_* objects in the wrong way by using BRep_Tool?