Animation stops too early on all keyframes with apply root motion

I have an animation set up for what is basically a camera on rails. According to the animation window itself the camera rotates to 180 and 0 degrees at points and stops there, but in the game it stops around 1 degree short at 179 and 1 degrees respectively. This lack of precision occurs on every single keyframe.

The inaccuracy causes crooked images and a distinct jump when the camera starts its next “path” / animation.

I have tried setting additional keyframes inbetween with the desired exact value, but Unity ignores those as well.

Then I attempted to disable applying root motion. This appeared to fix it, but leaves me with other problems.

Is there a way to make the animation play precisely while also applying root motion? Or will I have to find some other workaround?

I did not find a way to fix this particular problem; my workaround is now not applying root motion, attaching the camera to a parent object and then teleporting it to he beginning of the next path at the end of each animation by checking !anim.GetCurrentAnimatorStateInfo (0).IsName (“Animationname”). This ends up having the camera in the origin position of the previous animation for one frame right now and I am still looking for a fix.

I would still prefer a solution to the root (no pun intended) of the problem though.