I did this exact same thing last year, AND I had two separate tickets. My CPT-JNB was a local domestic ticket purchased directly from Airlink and JNB-ATL was purchased from DL. In CPT when I checked in, I asked the Airlink agent about directly checking my bag to ATL. She asked for Delta confirmation number, which I had printed out, and was able to tag it CPT-JNB-ATL. At JNB, you have to exit the domestic terminal, and walk about 5 minutes to International security and immigration anyway, so even if you had to retrieve your bag there, it is not that big of a deal. The connection time in JNB was around 4.5 hours, so I had an Apple Airtag in my luggage, just in case I had to go retrieve it, and recheck with DL. But it all worked and bag arrived in ATL just fine. (As a side note, I was in business for both Airlink and DL, so there was no baggage fee for the domestic CPT-JNB segment. Not sure if they have bag fees otherwise.)