It is definitely some hardware-specific issue. I would not go as far as calling it a feature.
Maybe because of low power, there is entered some specific bootmode and our halium-stage cannot handle that right or whatever. Though on a quick investigation in the FP3-android-device-source I could not see any obvious passage for this hypothetically case.
Maybe someone could investigate differences in dmesg init logs or journalctl with and without low battery.
I don't see other possibilities to find the root cause for this behavior.
Besides that, that issue is very low priority on my list.
It exists from the very beginning and I know how to avoid it, what makes me not putting too much energy into solving it. 😉