Cartesian3.fromDegreesArray giving strange results when I apply a large scale reduction factor to the lat/lng coordinates

Hi I’m using Resium / Cesium in React/NextJS and am able to render extruded polygons representing rooms in my viewer/scene - but have a problem when I want to apply scaling.

The source polygon coordinates are 2D, local scale, in metres, so I am having to apply a scaling to the local coordinates before adding them to my lat/lng offsets, which get fed into the Cartesian3.fromDegreesArray function.

When I apply a scaling of 1:100,000, it is the correct scale, but the model looks wonky and uneven with non-vertical edges and non flat top/bottom faces.

When I apply a scaling of 1:10,000 the model renders perfectly but is 10 times too large.

Here is the code I think is pertinent to my problem …

let scale = 10000; // note - 10,000 renders fine but too large, 100,000 renders wonky but right size
let localCoords = [[56.99,54],[61.18,54],[61.18,52.55],[60.3,52.55],[60.3,52.26],[56.99,52.26],[56.99,54]];
let adjustedCoords = localCoords.map( ( [ lng, lat ] ) => {
   return [ -3.1429760306575414 + (lng / scale), 52.66214159884773 + (lat / scale)]
});

const polygon = {
    hierarchy: Cartesian3.fromDegreesArray( adjustedCoords , Ellipsoid.WGS84 ),
    height:100,
    extrudedHeight: 104,
    material: color,
    closeTop: true,
    closeBottom: true,
};

Then I am adding the polygon to the Viewer as an Entity component as follows

<Viewer>
    <Entity polygon={polygon} position={entityPosition}  /> 
</Viewer>

Hoping someone can help me understand why the larger scale reduction renders the rooms so wonky please. Is it a rounding or precision issue?

TIA

Rob