In entrambi i casi la variabile i viene incrementata prima della verifica i<n. Quindi sì, direi che è giusto ottenere lo stesso risultato. Pre-incremento e post-incremento si riferiscono all'istruzione dove sono contenuti, non alle successive. In questo caso pensa semplicemente che i venga incrementata alla fine di ogni ciclo.
Un po' come se fosse:
codice:while (i < n) { //.... i++; // (++i è lo stesso, solo un minimo più veloce mi pare) }