1- por qué hay un código html si el navegador lo redirige automáticamente
Es tradicional desde los tiempos en que 302 era nuevo y no todos los clientes entendían lo que significaba. No es realmente necesario hoy y inútilmente desperdicia ancho de banda.
2- si se inyecta el código en href, ¿se puede ejecutar un código javascript antes de que se produzca la redirección? o no?
Si tiene una respuesta 302 adecuada, es decir, un encabezado de ubicación está presente, el cuerpo se ignorará y no se ejecutará nada.
Si no hay un encabezado de Ubicación (lo que sería una respuesta no válida), depende del navegador y del contexto: si la URL con el código 302 incorrecto se incluyó con la etiqueta img o se vinculó con HTML, a menudo se procesará, incluida la ejecución de Javascript dentro del HTML. En otros casos, como las descargas (el enlace no conduce a HTML) o el contexto del script, en su lugar, se producirá un error.
Hay servidores de seguridad que se pueden omitir de esta manera porque no esperan que el navegador ejecute el cuerpo de 302 respuestas y, por lo tanto, omita la inspección incluso si no hay un encabezado de ubicación en la respuesta que indique el objetivo de la redirección.