Existe uma diferença entre o componente ser "montado" e "re-renderizado" Toda vez que o componente é re-renderizado, o seu console.log é executado, mas isso não quer dizer que ele foi remontado.

Toda vez que o valor de "count" muda, o componente é remontado

^ Errado! Toda vez que o valor de "count" muda, o componente é re-renderizado, ele não remonta do zero

O state (count) não vai ser resetado para o valor inicial quando o componente re-renderiza. Esse é o motivo inclusive de se utilizar o useState ao invés de simplesmente declarar uma variável solta dentro do componente. Pq código solto, fora dos hooks, vai executar toda vez que re-renderizar, resetando tal variável.

Estude e experimente o useEffect, ele vai te dizer quando o componente é montado ou desmontado.

useEffect(() => {
  console.log('componente montado')
  return () => {
    console.log('componente desmontado')
  }
}, [])

O que o react faz por baixo dos pano para que este comportamento não ocorra?


O que o react faz por baixo dos pano para que este comportamento não ocorra?

Isso eu não sei te responder pq nunca olhei dentro do código do react nesse nível