Funnily enough, the agile methodologies (e.g. Scrum) do not usually define the position of a team lead. They do however define positions like a Scrum Master and a Product Owner. So from the point of view of the product delivery, an engineering hierarchy does not matter as long as the tasks get delivered on time. Perhaps the reason for each company having a different concept of a team lead is because it is not clearly defined in any manifesto? And like you said, in some companies becoming senior is as far as you can go without being a manager.