Si trata un motor como una resistencia (que es principalmente válida cuando está en un estado estable), entonces sí, un voltaje más alto debería significar una corriente más alta. Sin embargo, eso supone que la fuente de voltaje es ideal, y eso no es cierto aquí.
Una batería es una aproximación bastante buena de una fuente de voltaje, al menos en períodos cortos (el voltaje disminuirá a medida que se cargue), aunque las baterías tienen resistencia interna, lo que significa que el voltaje en sus terminales también disminuye dependiendo del consumo de corriente. Puede medir esto y modelarlo como una batería ideal en serie con una resistencia.
Un puerto GPIO en un microcontrolador como el AVR en un Arduino es una aproximación aún peor de un voltaje constante. Si bien tendrá una salida de 5v a 0 de corriente, tiene un límite en la cantidad de corriente que puede recibir o fuente. En el caso del AVR, esto es 20mA. Un motor eléctrico típico consumirá mucho más que esto, lo que puede tener consecuencias que van desde la caída del pin IO (que es lo que está pasando aquí) hasta la destrucción del microcontrolador.
Si desea conducir un motor desde un microcontrolador, probablemente desee un H-Bridge . Hay protectores Arduino predefinidos con controladores H-Bridge, como protector del controlador de motor de Adafruit .