Дело в том, что после перенаправления происходит новая загрузка страницы.
PHP запускает все по-новому, поэтому ваш цикл будет запущен новым. Это означает, что на каждой странице $ я начну с 0 и вернусь к 3.
header ("Location ... не перенаправляет вас автоматически, вы отправили что-то пользователю или остановили страницу (с помощью exit или die) для отправки заголовков. Таким образом, ваш цикл for всегда будет перенаправлять на home.php, потому что это последний заголовок, заданный в цикле for, а не потому, что он первый.