Когда вы создаёте переменную, до события отправки формы, то поле в форме пустое, в нём нет файла.
Переменная сразу обращается к полю и оно в начале пустое. А в первом варианте, вы после загрузки файла, заносите в неё поле с файлом. Так понятней? Может криво конечно описал, но надеюсь понятно!