Another option would be to always use a fixed area directly after 1MB (as this should not be affected by framebuffers in main memory) instead of below TOM.
Nope the memory must be free (and not reserved) all bootloaders expect that it is free. ACPI specs says first hole can be 15-16MB.
Thanks, Rudolf