I have done this several times in JNB connecting onto or from BA, ET, TK or QR. I actually did it yesterday from Airlink to ET. Yesterday they had a lack of power in the arrivals hall, the queue became insanely long, there was no heating, no announcements or WiFi. I actually had about seven hours and was going to get a hotel for a few hours shut-eye but ended up spending several hours waiting for immigration to sort themselves out. I would be inclined to spend a night in JNB on way in and/or way out. You may find CPT is s similar price and can open jaws the intercontinental section.