He's going for the Iams for the same reason kids/adults go for junk food (salt, fat, sugar)...I'd stick to your guns and not let him have this food. Put all your dogs on the puppy food, if necessary and add a little water to increase its aroma. A healthy dog won't starve itself.
Put the food down for 15 minutes (you might have to segregate the puppy behind a baby gate at first so the others won't help themselves). If not eaten, take it up and save for the next meal. He's eating 3x daily at his age anyway, right? Hunger should win him over soon. During a hunger strike - no treats!