As per what you said, that the carrier is sending the 200 in a delayed manner, is contradicting with the capture because as per the capture, 3CX is the one sending the invite to the carrier after sending 180 to the caller. Why 3CX is behaving like this, I have no clue.
Imho this ist normal, Status 180 ringing from 3CX to the caller is not the same as the ring tone via RTP. It's just a SIP command, not a tone. But someone with more knowledge on hand may correct me pls if I'm wrong.
Edit:
It could also be the 3CX endpoint that generates the tone itself due to the 180 response, because further SIP responses are delayed. This might depend on the specific 3CX endpoint. We haven't discussed that yet.
As per my understanding, 3CX should send the invite as soon as it receives and wait for the response from the carrier. If the carrier delays the response, then it can intervein and send the 180 to the caller. Please correct me if I am wrong.
I should grab RFC3261 and take a deeper look when this SIP command should and could be sent from 3CX to the caller. At this time of the day here in middle europe (UTC+1, good morning Germany) - pls no

I mean it could (and should) be sent immediatly, just no tone. Your 3CX FQDN (and maybe the azure vm - who knows) is located in down under, the Trunk provider IP per whois is located in tunesia (it says LTE - 3G Tuniesia Telecom pool, who knows). That may raises further questions.
About the pcap: hell, so much calls at this time (here...) *eyes_rolls* 28 running calls in less than 20 seconds ...
But the call from 101 and all the other calls, as quickly as I looked through them, are incomplete. Pcap is too short.
At this point, I would like to voluntarily stop for now, sorry for that. It will take a bit more time in total to track the problem more specifically with larger and more complete packet captures (for example, test calls from 101) rather than doing it in a rush like I’m doing here.
general questions:
Has the issue already been communicated to your 3CX partner?
Alternatively, it might be a good idea to involve 3CX via a support ticket, especially with such a frequently used system.