I still don't think #3 is correct. I tried to make this booking from British Airways (who would have the final say, imo) and it was shot down. Codeshares are allowed, but only by eligible carriers. Air Kenya is not a franchise of BA, therefore it is not an eligible carrier. What you can do is a surface sector to a place that you can go back to the alliance carriers. For instance, LHR-SEZ-NBO//HRE-JNB. You also don't need to start and end in the same city, only the same country. So doing something like PLZ-JNB-HKG...LHR-HRE-JNB-CPT-JNB would be fine. Four sectors, four cities.