As far as I understand, @john.c has it right: both the pool-level and VM-level flags need to be on for it to work.
On what actually triggers it (or what I think I understood): it's XAPI itself running on the host, not XO. XO is just showing you a toggle for a value that lives in the hypervisor config, so if XOA goes down it doesn't affect the auto-start behaviour, right?
For start order: I honestly don't know enough about this part to give a confident answer, but I think there's a start_order parameter in XAPI's other-config for each VM that controls it.
Someone more familiar with the internals here would know for sure. The main docs don't seem to cover it well, which might be worth flagging.
https://docs.xen-orchestra.com/xo5/manage_infrastructure#auto-power-vm
https://docs.xcp-ng.org/guides/autostart-vm#with-the-cli