This debate will go nowhere because it will attract many trolls here. I will answer shortly and if people start trolling here, I'll have to remove all discussions about it.
First, you should know that Iranian is not equal to Persian, never has been. Iran is a multicultural country with many different ethnic groups, all of them coming under the flag of Iran and Iranian nationality.
Many of the dynasties you mentioned may not have had a 'Persian' father or ruling family, maybe that's the source of confusion here. Qajars for example were Azerbaijani Turks, the ruling family I mean, while the majority of the country spoke Persian. But this family rose from within borders of current Iranian nation, in other words, they are not 'foreign' by any means, unlike Mongols for example who invaded Iran, or Greeks. All of them are considered Iranian ((though back then there wasn't any nationality called Iranian, but Persian which was used by Europeans, but the name Iran itself is nearly 2,000 old which is derived from the much older word Aryan)) in a way that kings/rulers were never 'foreign' people, but people who had lived in Iran for hundreds of years and had adopted the culture of people who previously lived there. The empire was called 'Persia' by westerners, but the people living in it were not all Persians, just like now. Name 'Iran' has been also been used by local people and even Ottomans to refer to current geography of Iran. but Europeans mostly used Persia as I already said. Finally, since the concept of nationality didn't have much meaning back then, it was barely used like it is being used today.