How can I duplicate parented objects properly?
The simple anser is: select both of them. It's easier to see in wireframe mode. When you duplicate several objects together, their relationships get copied, too.

If you have selected both of them and the pupil doesn't move, it may be the pupil's location is locked. It will be duplicated but it won't move, so you have two pupils at the old position.