Looking at your log it appears you have it set to autodeclination, so the compass is probably set OK.
Plotting your roll versus desired roll is very interesting, and to me rules out a control linkage issue. Have a look at the attached plot. A minus value is a roll to the left and a plus value a roll to the right. You can see the Pixhawk is requesting a left roll for a much longer time than the right. And your aircraft, as far as the Pixhawk sees, is supplying it. The actual roll tracks real well with the desired roll up to the limit of 45 degrees. If it were a control linkage issue you wouldn’t see the actual roll matching desired.
At this point and seeing this I’d say bad accelerometer calibration or even a bad accelerometer. Here’s why…When the Pixhawk wants a right turn it asks for it and your plane rolls to 45 degrees and quickly makes the turn. And when the Pixhawk wants a left turn it again asks for it, the plane rolls to the same (apparently) 45 degrees, holds it for a MUCH longer period of time, but per the track the turn isn’t nearly as sharp. This makes me suspect it isn’t really rolling a full 45 degrees to the left when asked. But since the Pixhawk thinks it has 45 degrees it just keeps holding it until back on course.
In other words, the Pixhawk says it’s seeing 45 degree banks in both directions. But the right turn is much sharper than the left while they should be about the same. So the Pixhawk isn’t measuring the left roll correctly. So redo the accel calibration and see if that helps. If not, then it might a problem internal to the Pixhawk.
Another way you’d see this problem is using FBWA or FBWB. I think both of these have maximum roll limits. Try right rolls and left rolls. They should be the same, but I suspect in your case they won’t be. I think you’ll find it won’t bank left to a full 45 degrees. But the Pixhawk will THINK it is.