exp は NumericDate、つまり 1970-01-01T00:00:00Z からの秒数(うるう秒は無視)であり、ミリ秒ではありません(13 桁の値は、JavaScript の Date.now() に起因するよくあるバグです)。現在時刻が exp 以降であれば、トークンは無効です。検証者は時刻のずれに備えて、通常 1〜2 分程度のわずかな猶予を設けてもかまいません。関連するクレームには nbf(有効開始時刻)と iat(発行日時)があります。
ベアラートークンは一度発行すると取り消せないため、アクセストークンの有効期間は短く(数分)し、長く使い続けるにはリフレッシュトークンか再認証を使ってください。jwt expired や Signature has expired などのエラーは、検証者が exp を自身の時計と比較したことを示します。発行者を疑う前に、双方の時計を確認してください。