Universities tend to ask for higher grades whenever they feel that students' qualifications are not the best preparation for the course.
IB is not ideal for many STEM courses, so the required grades are set higher than A level grades. In a way this is obvious: IB is broader but this necessarily means that less material is covered in the sciences, even if four are taken at higher level. It is not true to say that IB is not facilitating for STEM though: all courses will quote their typical IB offer as well as their A level offers.
Note that higher offers are also made for candidates having non-ideal A level choices. For example, not having further maths A level is less than ideal for the most competitive maths courses, and thus those who don't have further maths are asked to get higher A level grades (typically one grade higher in one A level and a STEP paper).
(Top UK universities also often make very high offers to European candidates when they don't understand their grading systems. I have known of Oxbridge offers based on high school results which are only achieved by the top 0.01% of candidates.)
Running an IB programme properly is indeed very expensive. It is interesting to note, however, that relatively few UK private schools are going down to the IB route, even those which could easily afford it. I think it is because IB is seen as a "hard" route into the top universities for some subjects.