Character actor with lock on camera moves away from target while strafing

This seems like it works at first glance, but upon recreating the code and testing I am met with this:

Green is the player movement speed, blue is the horizontal distance from the target.

As you can see, as the player strafes they move further and further away.

I believe this is because the player movement and orientation rotation are applied one after another and not at the same time, which creates a small offset that builds up over time.

I feel the best solution to avoid this is to rotate the vector a tiny bit to simulate rotating the object with a pivot on the target… Thing is, I don’t know the math for that.