Nunca, nunca, nunca guardes un JWT en localStorage. Un simple script malicioso en tu página (por ejemplo, de una librería de terceros comprometida) podría robarlo.
La forma más segura es usar cookies httpOnly y secure. El servidor envía la cookie en la respuesta y el navegador la adjuntará automáticamente en las siguientes peticiones a tu dominio. Como es httpOnly, no se puede acceder a ella desde JavaScript, lo que mitiga los ataques XSS.