BA has a lot of connecting traffic onto short haul plus LHR can be subject to delays. You'll often see equipment swaps between the 319, 320 and 321 even up to a few hours before departure as passengers miss connections, aircraft go tech, late inbounds etc. I think BA's reasoning is to keep the aircraft allocations as fluid as possible to try to mitigate delays and optimise seating availability otherwise you'd have a cascading problem. Yes it means longer duty days but that's the nature of the beast. Revenue Management will always sell to a set aircraft type but these can change once the flight enters operational control. Thats one of the advantages of the A320 family - flexibility.
Then of course there's the different union agreements. It's complex!