Ok, you are doing everything right, but, doing research, unfortunately that is how it works. When the item is getting uploaded, ID does not exist. And it never being updated unless you recreate the column.
You will have to do the workaround, like creating an SPD workflow that assigns this value to your field.