You need to measure the current the motor needs, and compare to that under PWM.
With very low voltages like this the voltage drop across the free-wheel diode will make the speed/duty-cycle
curve decidedly non-linear as the motor might spends considerable proportion of its time at about -0.8V due
to the diode conducting, and might be spending a considerable amount of time just turning with no current
flow.
You should not expect the duty cycle response to be linear in slow-decay mode which is
what your setup is.
Synchronous rectification mode is the only nominally linear mode, and that takes 2 switching devices.
You would learn an awful lot from seeing the waveform across that motor - it isn't what you might think
due to the inductive kick-back, the diode, and the motor's (rotational) back-EMF.
Also the transistor may be struggling - is it a genuine 2N2222 part for instance? Try a 150 ohm
base resistor, not 270.