Ports.OpenBuffer вызывается уже после того, как все регионы определены, в процедуре Views.RestoreRoot. А вот вычисление областей обновления происходит в Views.UpdateRoot.

Причём там идёт работа с фреймами документа, и я не понимаю, каким образом геометрия вышележащего окна учитывается в этих вычислениях.