Olá Matheus!
Pra gente entender o que tá acontecendo, precisamos ver como os números são representados em binário. Só para facilitar e não tornar o exemplo muito extenso, vamos supor que um byte fosse representado com apenas 3 bits. Desse modo, teríamos os números seriam representados da seguinte forma em binário:
0 = 000b
1 = 001b
2 = 010b
3 = 011b
4 = 100b
5 = 101b
6 = 110b
7 = 111b
Legal! Mas desse modo gastamos todos os bits para representar os números de 0 a 7.
E se precisássemos ter número negativos?
Precisaríamos distribuir a mesma quantidade de bits para representar também os números negativos. Poderíamos dividir esses 8 números em 2 e ter de 1 até 4 positivos e de -1 a -4 negativos... mas e o zero? Temos que considerá-lo também então vamos tirar um dos números positivos e criar a seguinte representação (chamada de complemento de 2):
0 = 000b
1 = 001b
2 = 010b
3 = 011b
-4 = 100b
-3 = 101b
-2 = 110b
-1 = 111b
Perceba que agora conseguimos representar todos os números no intervalo de -4 até 3. Perceba também que utilizamos o bit mais a esquerda para indicar se o número é positivo ou negativo. Se ele vale 0, o número é positivo. Se ele vale 1 então é negativo.
Essa representação específica ainda tem a vantagem de facilitar os cálculos em binário pois podemos fazer a operação diretamente em binário. Exemplo de soma:
1 = 001b
-3 = 101b +
-----------
-2 = 110b
Agora vamos voltar ao problema que você levantou na sua dúvida. Se o byte começa valendo 0, então a sua representação em bits ficaria 00000000b. Conforme vão sendo executadas as iterações do for, esse número vai aumentando até chegar em 127 cuja representação em binário ficaria 01111111b. Agora se somarmos mais 1 nesse número teríamos o seguinte resultado:
127 = 01111111b
1 = 00000001b +
------------------
-128 = 10000000b
Note que a operação causa a mudança do valor do bit mais a esquerda e de acordo com a representação de complemento de 2, isso significa que temos um número negativo. Por isso temos aquele comportamento aparentemente estranho no for que você apresentou. A sequência vai ser primeiro imprimir todos os positivos começando no 0 e depois todos os negativos começando no menor número possível.