Pula de 2 em dois justamente por que tem um comando dentro do próprio for somando 1 em x.
A instrução for em si já incrementa 1, e tem mais um comando somando 1 dentro do bloco.
Só que há apenas uma instrução writeln, ou seja:
quando ele faz o ciclo completo de ler todo o bloco e voltar novamente ao cabeçalho para verificar se a condição foi satisfeita (x ser igual a 10), ele já vale 1 a mais do que valia no ciclo anterior.
Em resumo: você tem duas instruções de soma, mas só uma instrução de exibir.
Digo que são duas por que, uma é a soma em si:
x := x+1;
A outra é o próprio comportamento da instrução for, que incrementa 1 a cada ciclo.
Estou chamando de ciclo, a ação de ler o cabeçalho, entrar no begin, executar o que lá está, e, no end, voltar ao cabeçalho e repetir tudo de novo, até a condição ser verdade (x = 10).