Turns out the CommitSize from MemoryBasicInformation was completely off too, that is also documented behaviour (https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/ns-memoryapi-w...) including the weirdness around taking into account PAGE_WRITECOPY file mappings only.
v3: - added tests for CommitSize; - Instead of trying to reuse fill_basic_memory_info() factor out the common part which gets region bounds and implement get_memory_region_info() separately.