Social mobility is low that is a well-documented fact, but I disagree with blaming the educational system for that. There are always paths to work your way up in the system even if you were not always in the highest tier. I personally know several people who did it that way. There are more than enough high-profile examples e.g. former Chancellor Schröder who started with a retail apprenticeship, then passed his Abitur, got his law degree, then became Prime Minister of Lower Saxony and eventually Chancellor.
My point is that there is always a way to advance if you have the brains and the drive to do it. In addition to that you can easily receive financial support from the German state if your family is unable to pay for your desired education. I don't think the system can do much more as it already offers all the opportunities you could hope for.
So this then leads to the question of why social mobility is still low despite all of this. Possibly it has more to do with the people's general mindset. Parents with academic degrees are likely going to push their children in the same direction. Parents without a degree, on the other hand, may very well tell their children that an apprenticeship has served them just fine and that there is no need to get an academic degree. This, I think, is the big difference. In the US there is this idea of advancing and making more of yourself (even if that has become more difficult, but that's not the point here) while German society is much more static. I think this is the real reason for low social mobility that people are simply not that driven to chance their circumstances and not even free education and financial support can change that.