We know people often kill people. That doesn't even need explanation.
My argument is that it is thousands of years and dozens of mixed generations.
Why do you decide to participate in a thousand-years-long campaign to kill the neighbor who is also your second cousin?
There is no reason they couldn't have turned the other way and attacked their other second cousin.
My best guess is religion but it could also have also been a different kind of fanatic ideology.
Sure it took many generations but it's hard to imagine that the violence wasn't culturally and racially motivated. Based on genetic evidence it's speculated that that there were more than 10 male migrants to every female coming from the steppe.
> The Yamnaya never made it out of the Ukraine.
I'm not sure what that means? Their descendants clearly did reach Iberia and Britain.
In Iberia, you have northern Iberian groups which maybe spoke a bit of an Indo-European language at first, and they are invading Southern Iberians and leaving almost no trace of other haplogroups.
Britain is less interesting because basically it was a regular colonization/invasion of the kind we know by Britons; although there is a genetic trace left of the megalithic people, they were swamped.
As a contrast to the Iberian case, we have several steppe invasions in the historical record but most of them look nothing like it.
The Khans did expand rapidly and engage in some wild oat seeding but there is barely any evidence that they ever were in most of the places they conquered. The Huns were basically new management for Germanic tribes. Again, no trace of their existence.
The only one that looks a bit like the Indo-European expansion is the Turkish invasion of Anatolia where by the end you have a bunch of South-Eastern Europeans with minor Asiatic ancestry effectively larping as Islamic Asians and even becoming the center of the Islamic world for centuries.
But, even in the Turks, you don't see full Y-DNA replacement, not even with the power of Islam.