Are you rotating in physics_process, or process? If you are using process, it could be the problem is because the rotation is happening at the same time as a physics call, and so the two processes are competing with each other for which rotation is the correct one.
Or it could just be a bug. One way to test this is to try rotating with another non RigidBody node and see if it gets the same results. If it does, then the bug is probably part of rotate_object_local, while if it does not, then the bug is probably RigidBody related.