It is still somewhat unclear where and how all of these memory maps are transmitted from Coreboot to Linux. I could not find the callback for BIOS e820 calls in Coreboot sources.
Coreboot doesn't do callbacks. If you're using SeaBIOS, it handles the callbacks and gets the information from the Coreboot tables. Grub2 got its information from the multiboot tables last time I looked.
Have you tried SeaBIOS again now that the UMA area and high tables are right?
Thanks, Myles