JWT claims.Expiration and local client time

The 'exp' claim in JWT is already in Unix time, which means it's UTC. So there is no need for an extra claim.

It's not clear what your JWTAccessToken.Claims.Expiration is, so I can't tell if Expiration returns the value in UTC or local time zone.

If it's UTC, just use TTimeZone.Local.ToLocalTime to convert it to your local time zone.