If it was me I would have planned it differently
Leaving PLZ to CPT the day before the long-haul flight, maybe with 4.20 pm (SAA). Spend the evening in CPT and then enjoy a nice hotel.
The next day CPT-JNB, maybe 2pm with BA/Comair, in club of course ^
There are multiple benefits here:
No early flights (I hate those)
A night and half day in CPT (my favourite place)
Plenty of options to reschedule if flight is cancelled
Although BA/Comair should be able to check the luggage all the way to LHR, they might refuse or not have the knowledge, this is still Africa
With this flight you will not be forced to loiter landside at JNB if that happens. You can pick up the luggage and check-in, I believe 3h before JNB-CPT.