The boot partition is purposely not mounted. The raspberry pi reads that partition by itself, and then loads the initramfs and the linux kernel. The kernel needs time for the USB subsystem to get loaded and for the drive to become recognisable.
I've seen some USB devices take up to 10 seconds to powerup and become recognisable, but 4-6sec is more common. Add "waitusb=15" to the command line, then after boot, read dmesg, and look at the timestamp as to when the kernel sees /dev/sda2.......then you can lower your wait time to closer to that value.
Paul