I'll add more to your answer, and ask community to review my thoughts since not sure if I am putting them correctly (what do I know?).
Usually, boot-loaders are linear. "Linear" term means that MMU (Memory Management Unit HW) is not used/even initialized with (any) boot-loaders.
This implies that there is no OS (no virtual space, no TLBs, no HW TLB xlation), no kernel scheduler in place. Boot-loaders are translated to single linear HW thread, mostly INT disabled. They are bringing CPU/PCH/minimum platform internals up.
In this respect Coreboot is NOT responsible for memory allocation. It can ONLY see 4GB linear, after all. while MRC should take care (in x86 FSP) for all platform on-board memory (forgive me if I am wrong here). ;-)
OS is the one, which will start using MMU HW, and virtual space/TLB tables initialized (by OS MMU drivers). So, I would not blame either INTEL FSP, either Coreboot for what you see as DDR3 allocation in WIN7 32.