Very strange Uno with MPU9250 IMU Issue

In general it is much easier to find problems if you post your whole code, or at least a shortened version that still exhibits the problem.
Make sure you post it in code tags.

Your code will also be easier to read if you use more meaningful variable names, e.g.

float driftPerMillisecond = (67.6/3600.0)/1000.0;
uint32_t timeSinceStart = millis() - start_time;
float driftSinceStart = driftPerMillisecond  * ((float)timeSinceStart) ;

But the real problem is that each loop you are adding the change in angle based on the gyro reading and the recent time interval, and then subtracting the total expected drift that has occurred from the start, not just the expected drift from the latest interval.