Answering my own question:
It turns out the issue was caused by a slight change in the FPoseSearchTrajectoryData::UpdateData function in the PoseSearch plugin from UE 5.4 to 5.5.
TrajectoryDataDerived.Facing = MeshComp->GetComponentRotation().Quaternion();
if (TrajectoryDataDerived.bOrientRotationToMovement)
{
TrajectoryDataDerived.Facing = MeshComp->GetComponentRotation().Quaternion();
}
else
{
TrajectoryDataDerived.Facing = FQuat::MakeFromRotator(FRotator(0, TrajectoryDataState.DesiredControllerYawLastUpdate, 0)) * TrajectoryDataDerived.MeshCompRelativeRotation;
}
This is the code from UE 5.4 and 5.5, respectively.
In 5.4, regardless of whether bOrientRotationToMovement is true or false, the Desired Facing is set to the Character Mesh's facing direction.
However, in 5.5, while it's the same when bOrientRotationToMovement is true, when it's false, the Desired Facing is set by combining the Controller's Yaw rotation with the Character Mesh's relative rotation.
In my case, to implement the Character Movement I intended, bOrientRotationToMovement needs to be set to false. But since the Desired Facing in the Pose Search results should be the Character Mesh's facing direction, there was no issue in UE 5.4. However, in 5.5, the Controller's direction started affecting the Pose Search.
To solve this problem, one way is to modify the engine plugin code as shown above.
Alternatively, I can work around it by overriding Character->GetViewRotation() to produce the desired result.
Leaving this here in case others run into similar issues in the future.