I thought a device that emits a laser that reads movement, such as a mouse, would work well for this application.
It's not the laser that reads movement. The laser is there simply to provide something for a light sensor to read.
But, since you already have magnets attached to the rotor, a hall-effect sensor seems perfect for you. Polling the sensor may be enough, of the rotor moves slow enough. Otherwise, use an interrupt to register the magnet going by.
The speed on the rotor will be variable
So, anywhere between 1 rpy and 30,000 rps?