As for why, this is outlined in the docs:
Raspberry Pi 4 boards earlier than the 1.4 PCB revision (All 8GB models have this, and this is now also the default for 2GB and 4GB models) require a modified EEPROM to power off correctly.
These newer boards hold the external reset until it is released by software (SPI bootloader) when the watchdog/soft reset occurs.
This means that the 5V rail on the USB bus will be off until the second stage bootloader has initialised or if halting it will stay off. On previous board revisions, this was not under software controls so 5V would be initialised when the XHCI/VLI automatically initialised, which could happen before halt.
Therefore, it is necessary to update the Raspberry Pi’s internal EEPROM firmware to behave correctly. The following changes are made to the EEPROM:
WAKE_ON_GPIO=0
POWER_OFF_ON_HALT=1
If this automatic behaviour is not working for you, then you can simply manage this yourself. It would appear as though you have a different partition structure or boot up sequence to other users, so that would explain why you are having this issue.