Cita: Creo que es porque compara el valor y no el typeof, pero no sé si es así exactamente.
estas en lo correcto... la comparacion se hace en base al valor. pero antes, se lleva a cabo el proceso de conversion puesto que son tipos distintos. en este caso, no recuerdo bien, el integer es convertido a string.