i think what all the seniors are saying is that the act of "under-powering" itself is the no-no.
(due to inefficient heat dissipation running the device at half-speed)
...I realized that in order to operate it I needed a transistor to provide a sufficiently high current.
you don't "need" the transistor to
provide a sufficiently high current - you need it because the Arduino cannot handle it directly.
you should really look up how transistors work - i'm not quite sure if this applies to MOSFETs but to those "power transistors" (like the TIP120) - they can handle a *range* of current, as you are thinking - BUT the trade-off is that the power that does NOT get utilised, is *wasted* through heat - and if you are running the device at, say, even 20% (of it's maximum rating) - that means - you are dissipating 80% as ... ironically - heat !!
-cmiiw-