To clarify, by "correct", I meant "most efficient".
I know the answer to this is usually "measure both ways", but I figured there was already a definitive answer to this by now.
Anyway, I measured both ways
To my pretty big surprise, its significantly worse to have individual sprites per bad guy instance. Its better to have a single sprite per image in the texture atlas, and just change its properties (position, scale, color, rotation) for each badguy before drawing it.
This was surprising because if each badguy has its own sprite, then the sprite properties need to change way less often. I expected this approach to take a bit more memory (and it did - 90MB vs 85MB or similar, so totally not a factor), and I expected it to use less CPU resulting in better FPS.
In fact the FPS reduced from 120 to 75 by using this approach!
I think the conclusion is that somehow sprites are not as lightweight as I originally thought, and its better to re-use them than to create them freely for different purposes.