Data reporting is not done in real time. The actual data use could have been hours, or even days earlier. Towers often report data back in 3 hour intervals during non peak hours.
Your phone and carrier may not record data in the same way due to rounding. Your phone independently records its data use and should be within a hundred mbs of the totals reported by your carrier towers. Your carrier makes an effort to include data used in a billing period in that billing period rather than start your next bill period already with a chunk missing. This often causes the complaint of "inflated use the last day of billing period."
The analogy I use to explain data use is, your data plan is like a checking account, your phone is like the checkbook and debit card. Purchases made during the day are not deducted from your checking account at the moment you write the check or swipe the debit card.
Each tower = a point of purchase.
ATT towers = debit card purchase, often recorded as 'pending' and will be deducted soon.
Partner towers = check, no way of knowing when it will be deducted. International roaming data can take weeks to be deducted.
The delay in towers reporting back to ATT computers is several hours. Partner towers take longer.
Just like your checking account, the data isn't reported back for several hours, often overnight, and then deducted from your data plan.
If you have an android phone, there is an option in settings to provide a warning and a cap. It has to be set slightly below your cap to be sure not to go over.
iPhone has to be manually reset each bill period to show data.