You are talking very different experiences and spending a lot of time travelling. Africa is the place to slow down.
Kruger is nice and hot in December (It's summer) but remember it takes 2 days (at 40 km/h speed limit) if you were to travel from top to bottom, it is so huge. Chose a small area in the Park and enjoy a casual drive stopping to see the animals, birds and other interesting things. Kruger is not as 'touristy' as Masi Mara and probably more interesting. As an option if you want to visit Johannesburg (aka Joburg) you could take a trip to the Pilansberg National Park (2 hrs) and even stay overnight there. It is a lot smaller than Kruger and much more manageable on a rushed holiday.
Johannesburg is like any big industrial and commercial city so you would want to stay in the suburbs like Sandton. In Cape Town you could spend 2 months as a tourist and never get tired, so choose what you interest is and focus on that. Cape Town will be very busy in December, it's in season for holidaymakers.