Actually after doing more testing, I found a simple solution to shrink the rectangle by using the center:
const rect = Cesium.Rectangle.fromCartesianArray([
entityW._position._value,
entityS._position._value,
entityE._position._value,
entityN._position._value,
]);
const rectCenter = Cesium.Cartographic.toCartesian(
Cesium.Rectangle.center(rect)
);
const smallWest = new Cesium.Cartesian3(
(rectCenter.x + entityW._position._value.x),
(rectCenter.y + entityW._position._value.y),
(rectCenter.z + entityW._position._value.z)
);
const smallSouth = new Cesium.Cartesian3(
(rectCenter.x + entityS._position._value.x),
(rectCenter.y + entityS._position._value.y),
(rectCenter.z + entityS._position._value.z)
);
const smallEast = new Cesium.Cartesian3(
(rectCenter.x + entityE._position._value.x),
(rectCenter.y + entityE._position._value.y),
(rectCenter.z + entityE._position._value.z)
);
const smallNorth = new Cesium.Cartesian3(
(rectCenter.x + entityN._position._value.x),
(rectCenter.y + entityN._position._value.y),
(rectCenter.z + entityN._position._value.z)
);
const smallerRect = Cesium.Rectangle.fromCartesianArray([
smallWest,
smallSouth,
smallEast,
smallNorth,
]);
it would be nice to be able to make the amount the rectangle shrinks configurable, but that is beyond my math abilities