With a non-cancellable non-changable ticket, you are totally beholden to the airline (here BA) to get you to the entire routing.
The issue here is that you chose to book the non-BA replacement flight. BA did not put you on that flight.That is the main issue here. BA are not in the habit of putting passengers on non-BA flights even if BA flights tend to be full; not up to the basic Gold passenger level at least. GGLs and higher might get further leeway.
This is a downside of non-cancellable non-changable tickets that is not fully appreciated by travellers.