Takeoff speed and overshoot

I’m struggling quite a bit to solve a takeoff issue that i’m experiencing. Currently i’m running the latest stable ardupilot version on my custom 2.5 inch, 2S minidrones. They do work well, in manual, loiter or auto mode except for one thing. For some reason, every time i takeoff in auto mode they always shoot up way to fast. I have tuned the throttle controller, i have played with takeoff parameters like TKOFF_SLEW_TIME and TKOFF_THR_MAX. In Loiter mode i can take off, it overshoots a bit and goes back but with auto mode it overshoots way too much and then performs the entire mission with 3 meters height offset from what it should be. For height estimation i’m using a range finder. The terrain is compleatly flat. Why even when having an accurate source of Z estimation it always overshoots and then offsets from what it should be even though it gets correct readings from the range finder.

See this desired alt and actual altitude graph for reference.

What I’m very puzzled is that at the beginning it was in stabilization mode, the copter was at the ground, not moving at all and the actual altitude is rising already even though the range finder is on the ground and it’s reporting accurate readings. Secondly, why is the target altitude still above 2m when i have set on the mission planner a 2 m height on the takeoff and waypoints, why would it target higher than it’s supposed to go.

I attach a log where i’m performing a few auto missions where I’m experiencing this issue. Note that i’m switching back to stabilize since the copter was climbing too much and i had to regain control.

A last note is that if i actually take off manually and then switch to auto mode this issue does not happen.

Some guidance on this issue would be highly appretiated.

You need to attach a link to the log stored on a file share service.

Here is the log: https://drive.google.com/file/d/1iwwwd_k_ly-Hhr18fsA6SRrGqNUuFXbR/view?usp=sharing