Arduino Motor shield external power
I actually figured it out. The stepper motor itself cannot regulate current and so has no way of stepping down to a safer level. It is the job of the motor controller to provide safe current level to the motor. Since I was powering the motor externally, the motor controller may not have been providing proper current regulation.

And since the coil resistance is so low for these motors, anything more than ~1.5A will start to cause problems.