Pixhawk Compass Offset 20-degrees

I’m having an issue with both Pixhawk 1s and Pixhawk 2s. I’m using MissionPlanner as the GCS. Everytime I finish calibrating the Pixhawk, it always shows roughly 20-degrees offset in the compass heading on MissionPlanner on the ground. As it flies, this compass heading is corrected and lines up with the groundcourse heading angle. I have also tested this using an externally mounted GPS outside of the plane to avoid magnetic interference and enabled the use of only the external GPS-compass heading in the MissionPlanner Initial Config. How do I resolve this issue?

I am planning on performing auto-takeoff and landing and was advised that the wrong compass heading affects the performance of the plane. So I have refrained from performing auto-takeoff and landing. Does the compass heading affect auto-takeoff and landing performance? Does auto-takeoff and landing rely on correct compass heading?

Did you find the reason? We experience a similar problem.