Welcome to FT!
You're entering Europe twice. Even though the first time is a transit to get from CPT to HKG, it's still a violation of the ONE rules AFAIK.
You could reroute CPT-JNB/x-HKG instead. (JNB-HKG on CX does have F seasonally, during the Southern summer.)