I have thought about this quite a bit and I think there are a few reasons:
1) Heathrow's landing fees make it difficult to make money with small aircraft.
2) The cost of slots (pre-covid) make it every expensive for a regional airline to start a Heathrow operation to provide feed
3) Amsterdam has 6 runways (5 of which are mainly used by airlines), Heathrow has 2 which means lack of spare capacity (and the high slot fees)
4) BA's union agreement prevents them from using smaller planes at Heathrow (apart from in exceptional circumstances) - going to be hard to fill a 180 seat plane on LHR-MME/NQY/IOM/CWL etc
5) BA can get more lucrative feed for the transatlantic services from elsewhere in Europe
6) Amsterdam is one giant terminal, Heathrow is almost 4 different airports. As T5 is full, more services into LHR means more people having to get on a bus to change terminals which is not a great experience