For most buses all children are equal, so the order does not matter.
Other buses, such as acpi, carefully order their child devices to express
implicit dependencies between them. For such buses it is safer to bring
down devices in the reverse order.
I believe that this is the reason why hpet_suspend had to be disabled.
Some drivers depend on a working event timer until they are suspended.
But previously we would suspend hpet very early.