The initial input is read by the bootloader to see which partition to boot. Vol- will trigger recoverybootloader, while no input will trigger ROM partition. The bootloader is initially installed by your OEM. No matter what version of Android you have, you still have the same bootloader until you either update your bootloader or install a custom bootloader. The OEM bootloaders are likely based off the AOSP tree, depending on your specific phone (I am not sure for the M8).