Is there really a problem the GPS vs the time integrated IMU locations? The IMU track and the GPS are parallel, more or less. That's usually all we ask for. The initial separation occurs because IMU_ATTI:VelE is held constant while GPS:VelE and IMUCalcs:VelE both are showing the actual movement - about 4 m/s west. IMUCalcs:VelE is time differentiated IMU:Longitude
View attachment 108941
The courses do end up parallel, but that indicates only that the FC ended up correctly computing velocity, presumably by heavily weighting the GPS data, not that it understands the direction that the aircraft is facing. Looking at actual GPS velocity compared to IMU velocity the agreement is okay, apart from the initial 4 m/s discrepancy caused by the IMU not knowing that the aircraft was already moving at 4 m/s west when it powered up.
But comparing course with the motor thrust direction that the FC thought it was applying:
The aircraft is traveling west (the orange line shows a course of between -100° and -50°) but the FC thought that it was applying motor thrust to go south east - i.e. to arrest the movement to the west. That was due to the incorrect IMU yaw, and was the direct cause of the problem.