Se ele sai do "for" com i valendo 1, como no if ( 1 % 3 == 0) sairia com 0 e então daria o break para imprimir 1?
teste de mesa i = 0 < 5 // soma 1 e loop 1 % 3 == 0? // não, soma 1 e volta para o loop 2 < 5? // soma 1 e loop 3 % 3 == 0? // sim, soma 1 e saia do loop imprima 4