How to drive an Actor in Cesium for Unreal using ECEF position and orientation

I’m trying to visualize a drone descending from 100km orbit down to the surface of the Moon using Unreal Engine with the Cesium Moon.

The drone is currently represented by a Camera Actor, and I’m driving it using UDP socket data that provides:

ECEF position
ECEF orientation (quaternion)

I configured the CesiumGeoreference with:

Origin Latitude = 0
Origin Longitude = 0
Origin Height = 0

Then I send the following data:

ECEFPosition = [1837400, 0, 0] % meters
ECEFRotation = [0, 0, 0, 1] % identity quaternion

and apply it in the Camera Tick function via:

const FMatrix ActorToECEF = FQuatRotationTranslationMatrix(socket_data.ECEFRotation,
socket_data.ECEFPosition);

GlobeAnchor->SetActorToEarthCenteredEarthFixedMatrix(ActorToECEF);

What I observe in the editor (in the Details panel)
CameraActor Location = [0, 0, 10000000]
→ This matches expectation (~100 km altitude in the local ENU frame)
CameraActor Rotation = [0, -90, 90]
→ This is unexpected
What I expected (since the quaternion is identity):

Actor +X aligns with +ECEF X
Actor +Y aligns with +ECEF Y (I mean right-handed Actor +Y)
Actor +Z aligns with +ECEF Z

However, the Actor appears rotated relative to the ECEF frame (see attached image: large axes = ECEF frame, small axes = Actor body frame (left-handed)).

Is there an example in Cesium for Unreal that demonstrates driving an Actor directly using ECEF position and ECEF orientation (quaternion)?

Any guidance on how Cesium maps ECEF frames into the Unreal actor coordinate frame—or what transformation step I might be missing—would be greatly appreciated.