I wouldn’t worry about a connection in LHR with 4 hours 15 minutes.
I would also check to see when the next flight is to PHL in case there is an issue. If there is a second LHR flight on BA, but not a second flight to PHL from Mad on IB or AA, that might tip the balance.
I’d also check the seat maps to make sure you can get reasonable seats in your chosen flight across the pond.
I wouldn’t do Vueling out of MXP .