I will need some additional time to review and modify the provided example. However, in my opinion, this is not an ideal approach, due to the way flexbox works. For example, the pager height changes when the browser window is resized, and so does the empty space above the Grid's vertical scrollbar. Frozen columns cannot be used.
With the latest Kendo UI version, it is enough to set a height to the Grid wrapper and call the Grid's resize() API method and the grid height will measure as expected:
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI