exp es un NumericDate: segundos desde 1970-01-01T00:00:00Z, sin contar los segundos intercalares, no milisegundos (un valor de 13 dígitos es un error habitual que viene de Date.now() de JavaScript). El token no es válido cuando la hora actual es igual o posterior a exp; los verificadores pueden permitir un pequeño margen, normalmente uno o dos minutos, por el desfase del reloj. Los claims que lo acompañan son nbf (no antes de) y iat (fecha de emisión).
Haz que los tokens de acceso duren poco (minutos), porque los tokens de portador no pueden anularse una vez emitidos, y usa tokens de actualización o una nueva autenticación para mantener el acceso más tiempo. Errores como jwt expired o Signature has expired significan que el verificador comparó exp con su reloj; comprueba ambos relojes antes de culpar al emisor.