to Kruger started from Durban. Went thru KwaZulu-Natal, an area probably hardly any independent western tourist ever drives thru. Were stopped by police twice, including one came out from no where (his car was parked several tens of yards away under tree shades). My husband had the guts to ask the police back, "How would I know you are police?!" The police then pointed to his car that was hidden away. As soon as they saw our US passports and Avis rental car contract, he said, "Oh, Avis. OK, you can go now. Have a good trip."
We went thru many small towns, including one town we stayed overnight at a BnB at the outskirt of the town. Plenty of the local travellers who seemed to be of better economic sociostatus used the same BnB. We have never felt unsafe in our South Africa trips, and we went to South Africa 3 years in a row.
If not for the time-consuming border crossing, we would have crossed Swaziland to get to Kruger. Swaziland has 3 of its own national parks that were administered by the South Africa NP system, and our Annual Pass could be used there. However the border crossing based on others who had done it, was extremely unpredictable when it came to the time-consumed. At the end we gave up that idea, took a circumvent approach of its border, then headed to Kruger. Hence the need to spend a night in a Bnb of a small town.
I think a lot of the police harrassments seem to happen near Jo'burg, and seem to only reported by tourists from Mainland China. No idea why so. But we had multiple encounters with South Africa police, including planted roadside check points. Each time nobody gave us any hard time, they just looked at the passports and driver license, sometimes took a peek on the rental car contract but not really read it - once they saw the Avis logo, they seemed to be satisfied.