Memory gets allocated and used in a different order, which seems to have
exposed (yet another) latent BUG.
Well, you can call it that, or you can say that things worked under
certain assumptions regarding the memory allocation order which are
not met any more.
The same could be reproduced via zone shuffling with a little luck.
But nobody does that in practice.
This would be relatively straightforward to address if ACPICA was not
involved in it, but unfortunately that's not the case.
Changing this part of ACPICA is risky, because such changes may affect
other OSes using it, so that requires some serious consideration.
Alternatively, the previous memory allocation order in Linux could be
restored.
Of course, long-term this needs to be addressed in the ACPI
initialization code, because it clearly is not robust enough, but in
the meantime there's practical breakage observable in the field, so
what can be done about that?