Oi Bruno, tudo bem?
Neste caso o OU(||) não funciona, porque há erro no fechamento de chaves em seu código, no trecho que você declara a condicional if.
Segue abaixo o trecho corrigido:
if(contador != excecao1 || contador != excecao2){
document.write(contador + "<br>");
}
contador = contador+1;
}
Caso modifique isto, seu código voltará a funcionar.
Em relação a mostrar apenas os números que são diferentes da excecao1 e da excecao2, sugiro que utilize o operador lógico E(&&), pois, ele garante que irá imprimir um valor na tela somente quando a expressão for verdadeira para ambos os testes. Já o OU(||) garante que irá imprimir um valor na tela se apenas um dos testes for verdadeiro.
Qualquer dúvida estou a disposição. Espero ter ajudado. Bons estudos!!!