Assuming InTransform and InParentTransform don’t change, shouldn’t this check pass? (it doesn’t).
FTransform A = InTransform;
FTransform B = A.GetRelativeTransform(InParentTransform);
FTransform C = B.GetRelativeTransformReverse(InParentTransform);
check(A.GetRotation() == C.GetRotation());