Browsers make some scss by their "own", so probably Chrome behaves different because it limits the height of your div, I made a quit view on the menu popover, and could change a bit Change1 Change2
you can put a min-width and max-height for the ul or divs that have the items, to make sure they have enough space, also could do some no overlap of the elements Example here
A great way to understand better flexbox is in this Web Flexbox Tricks Be carefull with the lists inside the lists (ul inside li and another ul)
Hope this helps