когда CSS изменяет высоту (или ширину) формы auto на значение, которое привязывается к 0, сначала обрезая все переходы (та же проблема при попытке применить переход непрозрачности с изменением отображения).
Обходным решением было бы, при загрузке, установить высоту объектов на их собственный offsetHeight.
В основном, как использование случайного числа (которое, как вы заметили, работает), но не случайное.