Sorry but you’re incorrect. Your point would be correct if they were called iPhone 3 → iPhone 3S → iPhone 4. But they are not – it’s ‘3G’ not ‘3’, and it refers to 3rd generation cellular networks, not 3rd generation of iPhone.
Among all 5 current generation of the iPhone, only one carried an exclusively numeric (as opposed to alphanumeric) index, and it matched the generation of the device – that’s iPhone 4. Alphanumeric index does not have any logical obligation to match the generation, whereas numeric-only does. This in mind, calling it iPhone 5 is illogical.