Compass_primary, QGC connection lost, Compass Orientation changes

For almost a week I have been trying to use my Herelink with Cube Orange. All I get are different problems. QGC is unusable between the constant disconnecting and the Compass_primary warning popping up all the time.
My compass would automatically change the orientation until I disabled that feature but now the compass drifts more than 15 degrees sometimes 180.

This is not my first build and it’s not my hobby. Why is this so difficult? I am not sure how to fix the issues. I thought maybe it was related to EMI to my FC and compass but after conducting a motor compass calibration in MP I had less than 10% interference.

This is exactly the purpose of compassMot calibration. It helps you to eliminate interferes from motors or predictable offsets.

Does it perform the same in Solex? or when doing the same thing in computer GCS while Herelink is still connecting?

Thanks for responding @Alvin. It does the same thing on MP, QGC, on the computer, and Herelink. I have only used Solex when going through the settings. The one time I launched the drone was in QGC on Herelink and the drone acted erratically. I landed and have been trying ever since to figure out why my compass is off so bad.

One other question. What is the current Air firmware version? I am on the one ending in 729.

I went back to Ardupilot 4.0.7 and it fixed my compass calibration. However the problem still exist that the drone will not fly. Throttle works as it should but the yaw and maybe roll are unstable. When I touch the right stick after launching about 2m high the drone turns rapidly.

I connected my Taranis and the drone flew very smooth.

Did you calibrate everything?
Like hardware calibration and sbus calibration in Herelink. Also recalibrate in Ardupilot because different remote controller has their own characteristics.

Yes of course. I calibrated everything multiple times. I was finally successful when I deleted everything in the folder with the flasher program, removed the SD card and went back to Ardupilot 4.0.7. It took starting over 3 times before I was able to get it to all work right but now it flys.