Wow, that worked perfectly! I replaced the top-most GetActorLocation call with another MakeRotator using OldCameraYaw, so that the original rotation doesn’t change as the timeline runs.
On paper, I don’t think anything should have changed, because this is basically the same code. But I guess the rotator interpolation calculation is slightly different, which fixed this bug. Thank you!