Skip Johannesburg. There's nothing to do and see in Johannesburg. The town isn't safe. You might go to Pretoria instead - but I'd prefer any other town in your list.
A much better option would be to stay several days and go into the Kruger National Park.
------------------
Pictures from hotel stays
Basic Hotel stays/nights/points calculator
Short overview: KLM FD, LH M&M