А теперь посмотри на эту строку внимательно:
ellipsedTime += Time.deltaTime * 1000f;
Время накапливается (оператор += тебе ничего не сказал?), за два отрисованных кадра будет 2 * 8(3) и сработает логика. Я ж говорю, невнимательно код смотрел и не пробовал.
В твоем примере 29 FPS будет 30 раз срабатывать логика, она даже с 15 FPS будет 30 раз срабатывать. И даже имея 128 FPS с шагом в 1000f / 60f логика будет срабатывать 60 раз в секунду в среднем.