Why does my BLDC motor change behavior at high speed?
The problem you're having is related to the form of control you are using. Pretty much every hobby/quadcopter oriented BLDC controller (commonly referred to as 'ESC'), uses sensorless trapezoidal control. This form of control is fundamentally different than the form of control you reference in your question, which is called field oriented control or FOC.

Describing the differences in detail of these control techniques would require an excessively long answer, and I encourage you to research them yourself. However, the test as it currently exists is not properly decoupling the speed/torque characteristic of the motor from that of the driver. The lack of a high resolution encoder also effects the motor performance at low speed. If you want good low speed performance, you need some form of encoder, regardless of the control technique in question.

If you want to properly characterize these motors at a the full speed range you'll realistically need a sensored FOC driver.