It depends on the size of the motor. Larger motors tend to be slower.
IMO unipolar = hopeless,
bipolar+chopper: low inductance windings = faster, high inductance windings = slow, high supply voltage = fast, low supply voltage = slow.
Larger motors tend to have higher winding inductance, all others things being equal, due to the amount of steel, but
two motors of different size with identical winding current + inductance ought to handle pretty similarly. For high performance motors this tends to mean 1 ohm windings for NEMA23, 0.5 ohm for NEMA34 are the norm.
For example I have a Nema14 motor capable of 18000 steps per second when not loaded (Possibly more, but the motor driver I was using couldn't keep up). As soon as I added any sort of load, even a scrap of paper, that speed dropped by half.
If you need more speed, don't use micro-stepping. I have a very loaded stepper motor which can get to 300RPM when full stepping (with a 0.5kg ring attached to it), but can barely get to 200RPM when half stepping (and even less for 1/4step).
Micro-stepping is good for low speeds as it means the rotor doesn't have to jump as far with each step giving you a smoother ride, but it reduces the torque as current is limited.
Full stepping is awful for low speeds as it ends up sounding like a broken washing machine. But for high speeds you need the higher current to counter filtering affects of the motor coils (Inductor=RL circuit).
If you need speed, performance and low vibration you'd go for bipolar chopper drive from a high
voltage supply and microstepping... The main effect of microstepping is reduced vibration, greater resistance
to resonant mis-stepping and improved accuracy (if lightly loaded). Of course if you are close to the torque limit
then things are very sensitive to exact details, but you shouldn't be operating close to the limit with an open-loop
system, that's when a servo system is called for
