I think the problem is they knew his CV and were interviewing him for a senior role. It's a little manipulative to string him along as interviewing for a senior role when they knew up front they never would have hired him for that role.
Reading between the lines, and having been involved in tech hiring for junior - low-level senior roles, my guess is that they were open to his being at the level of a more senior role than his experience suggested, but his interview performance suggested he really was a more mid-level candidate, like you'd expect from his experience.
It is exceedingly rare that recruiting will give feedback on anything at all subjective; if the true reasoning is "your interviewing reflected your observed years of experience which puts you at mid-level" then the feedback to the candidate is going to be about their years of experience, not the interview performance.
It says in the quoted paragraph that they downlevelled him due to his answers in the interview, particularly soft questions. Soft skills are extremely important for a senior, much more than a mid.
> Most of the "frontend work" I saw was via Rails ERB templates
It seems that he didn't consider erb frontend or he dislikes it, he was expecting to work on js/react or whatever other framework he knows/likes. That demostrates that he doesn't fully understand what a frontend developer job is.