I'm doing some digging... maybe some of these ideas will help?
1) Do you get 100% throttle when flying in MANUAL and FBWA modes?
2) Do you see THR_MIN and THR_MAX parameters? If yes, what are their values?
3) Is it easy to try setting TKOFF_THR_MAX to 0? That should set TKOFF_THR_MAX = THR_MAX.
4) Probably not relevant, but what is your TKOFF_THR_SLEW value? Again, if you set it to 0, it will use THR_SLEWRATE instead.
5) What is your value for THROTTLE_NUDGE? If you have this set to 1, and your stick is held down during takeoff, that might limit your maximum... if this is the problem, if you push your stick up during takeoff, you should see max throttle achieved.
If none of these solve the issue, I think the relevant code is in Plane::set_servos_controlled() inside servos.cpp...