Why is my animation not correctly keeping location and rotation?
This is a perfect example of why we should use Quaternion rotations instead of Euler, when more than 2 axes of rotation are involved in a movement.
To simply solve, you can go to the first frame, switch to quaternions, insert a rot keyframe, turn back to euler, go to the second keyframe, switch to quaternion, insert a rot keyframe. Solved.
For this kind of objects it's better to build an armature or use some empties, make them parents of the objects, and use them to animate, so that those simple movements happen on a single rotation axis, and they get easily edited and automatically avoid theese problems.
Also, you should get the good habit of apply your rot and scale before animating (Ctrl A), and use real world dimensions (now it's 90 meters wide).