サーブレットコンテナはJServだと思います。
JSPが変換されたサーブレットは確認しましたが、
ループの途中に何も処理を挟んでいないので
iが勝手に変わるわけはないのですが・・・。

なぜか、実行すると、

hoge2
moge2
koge1

hoge2
moge2
koge1

hoge2
moge2
koge1
...

のような感じで無限に文字列が出力されます。