Zammad only populates said fields at the moment they’re satisfied.
As an example for close_*:
close_in_min does not mean “You’re supposed to close this in x min” but: “The ticket was closed after X min based on business hours”
close_diff_in_min tells you how your team did behave on overall SLA solving terms.
If you set your solution time to e.g. 60 minutes but your agents took 70 minutes to solve the ticket, the value will be -10. This means that the solution time was not in time (escalation).
Exactly this behavior allows you to tell if a ticket has escalated after.
Above completely relies on your business calendars.
Zammad also expects you to use communication type article (phone, email) to address slas.