IMU Roll Angle - Correct when Stopped, Wrong when Moving
It is certainly solvable.

My guess is that the filter doesn't trust the gyroscope readings and absolute values from the accelerometers very much due to the noise and offset issues inherent in MEMS sensors and so when it gets a steady state with gravity slightly stronger than expected and a constant rate of turn it assumes that they are offsets and cancels them out. A different filter combined with a calibration process at startup could help with this but you may end up needing better sensors.

However getting this sort of thing to work correctly and reliably isn't normally quick or easy. If time is critical I can't think of any quick fix for this that doesn't involve throwing money at the problem and purchasing a far higher quality IMU and positioning engine software.