I was about to ask a question before I figured it out. It took me a solid hour to realize what was happening so I think this is worth mentioning… and could be considered a bug.
It appears that the physics SetCenterOfMass node is occurring in local space. For example, in the picture below I’m attempting to set the center of mass of my vehicle to match it’s location. This prevents rotation (specifically that induced by torque) from changing the vehicles location. So on BeginPlay I find the difference (location - COM) and then plug that into the SetCenterOfMass node. As you can see it’s adding the Y offset to X and the -X offset to Y. This is because in my World the vehicle is rotated so that it’s forward vector is in the -Y direction. If I rotate the vehicle so that it is facing in the X direction then it works as intended.
Perhaps this behavior is intentional, but it seems that to be consistent the node should work in absolute World space. The other physics nodes AddForce, AddTorque, GetLinearVelocity, GetAngularVelocity, GetCenterOfMass, etc. all act in world space. Also, the name “SetCenterOfMass” is misleading. It should be renamed to eg, “OffsetCenterOfMass.” At the very least the hover-text/documentation should say that the offset occurs in local space.
For anyone wondering, to convert from world space to local space you can do the following (projection).