Drifting code not 100% accurate?

I’m trying to check if the car is facing the forces direction. but the two angles are always offset by around 3%-5% when driving in a straight line. Any help would be appreciated as this has halted the progress of my project.

Perhaps instead of trying to reinvent the wheel just use Vector3.Angle

Vector3 forward = car.transform.forward;
forward.y = 0.0f; 

Vector3 velocity = car.rigidbody.velocity;
velocity.y = 0.0f;

float angleVelocityOffset = Vector3.Angle(forward, velocity);

if (angleVelocityOffset > 60)
{
    //car is drifting
}