It is worth emphasizing that "Indo-European" is a linguistic description, not a genetic one. The Indo-European languages spread through Europe, Central Asia and the Indian Subcontinent largely through the people already living there shifting from the language they had been speaking before to Indo-European, because Indo-European had higher social prestige. That Iranians today speak an Indo-European language does not mean that their ancestors all came down from the steppe.
(In the last decades, work on historical DNA has identified certain genes that do appear to testify to some Indo-European population movements, but the impact of this is less than one might think for a discussion like this one.)