In AnimNode_ApplyLimits.cpp the inputs for the ConstrainAngularRange function are going to the wrong rotator values. The XYZ of the node's input vec3 is being stored in YPR of the clamped rotator, where it should be going to RPY (Yaw and Roll are swapped).
Swapping the Yaw and Roll values on the inputs of the node in the AnimGraph provides correct functionality for the constraint, but the preview ranges are shown incorrectly.
This issue was reported and tested in 4.20.3 (CL-4369336). This was reproduced in 4.21 (CL-4541578) and Main 4.22 (CL-4542756). This node was not present in 4.19.2 (CL-4033788)
Results: In the preview window, the axis constraints show correctly colored according to the XYZ inputs of the node, however the constraints don't work correctly when manually rotating a bone.
Expected: The rotation constraints should match the displayed values on the preview window.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-66293 in the post.