Embora não tenhamos todas as informações, neste momento isso parece um bug do kernel do Linux. Aqui está o compromisso no github que parece ter sido feito para corrigir esse problema. As tags parecem indicar que essa correção está nos kernels 4.16.X. Aqui está o comentário do commit:
Without this fix,
/proc/cpuinfo
will display an incorrect amount of CPU cores, after bringing them offline and online again, as exemplified below...This patch fixes this by always zeroing the booted_cores variable upon turning off a logical CPU.
Isto parece ser devido a caixa de dormir na ocasião, embora também estamos preocupados com o recurso "turbo-boost", que também desativa núcleos. Estamos desligando os modos de suspensão e hibernação agora que podem consertá-lo, já que a atualização do kernel não é uma opção fácil para nós.
Até o momento, testamos as configurações a seguir no grub que não parece funcionar ou pelo menos não impediu o computador de dormir e ter esse problema.
intel_idle.max_cstate=0
processor.max_cstate=1
Também encontramos esta página sobre desativar o turbo-boost .