The only time I've seen the creation-time be inaccurate is when you upgrade a management with existing rules to R80+. The creation-time in that case reflects when you upgraded rather than when the rule was originally created on R≤77. I just confirmed with this command that I have plenty of rules on R81.10 and R81.20 managements which were modified after being created:
mgmt_cli -f json -r true show access-rulebase \
uid 00001111-2222-3333-4444-555566667777 \
limit 500 offset 0 \
| jq -c '.rulebase[]
| if has("rulebase") then .rulebase[]|. else . end
| select(."meta-info"."creation-time"."iso-8601" != ."meta-info"."last-modify-time"."iso-8601")
| [.uid,."meta-info"."creation-time"."iso-8601",."meta-info"."last-modify-time"."iso-8601"]'
Of course, you should replace my fake UUID (00001111-2222-3333-4444-555566667777) with the real UUID of one of your access layers. Also adjust the offset to sweep through the layer as needed.