Some very valuable information here.
The level of German needed to study at a German university is not that high. You generally need to pass a test called the DSH which I think is graded around B2 on the European Framework. I have no idea if your DS would technically count as a native speaker if he's sort of bilingual, but you certainly need to find out if sitting that test is a requirement of entry.
There are some Bachelor's courses taught entirely in English and these would tend to be science/engineering rather than humanities, but most English courses are at Master's level.
There's a great deal of snobbery with the old universities on the one hand and the Fachhochschulen on the other, but actually the Fachhochschulen often offer a much better more hands-on degree for science subjects, with compulsory internships in international companies etc. Perhaps I'm biased - DH teaches at a Fachhochschule and I'm on the selection panel for a course at another one. The teaching is far more focused and career-oriented, whereas the traditional unis pride themselves on having no connection to industry.
regarding entry requirements- when I applied for a university place some years ago I had to give my A-level AND o-level certs to an office which converts them into German grades. The O-levels are needed because there's much less specialisation at Abitur level in Germany, so if you take science A-levels your O-level English will count towards the final grade. As an indication I had A, A and B at A-level and C at O-level maths (science dunce) and got awarded a 1.3 grade, with the grades ranging from 1.0 at the top to 6.0 at the bottom (which is a clear fail). A 1.3 is pretty good and you could get onto most courses with that. However it was labelled an 'Abitur for humanities', ie I wouldn't have been allowed to apply for a science degree with that choice of subjects. The other weird aspect is that any time you spend between finishing A-levels and applying for your degree is taken into account - it's called Wartezeit and it raises your grade by a small amount each semester for a maximum for 14 semesters. So your son would have a higher grade if he took a gap year and then applied than if he went straight from school.
Costs - the amounts charged vary from state to state. Here in Berlin there are no actual fees, BUT students have to pay 500 Euros per half year in administrative fees and a compulsory public transport ticket (which is actually great value). Some students are entitled to a loan called BAFöG, but most pay their own way through college by working. Students tend to be older and more mature than in the UK. For the course I select students for, most have some sort of apprenticeship or a few years' working experience before applying.