1 - Это же обычное поведение флексов. Когда места не хватает, блоки начинают сжиматься. Так что тут смотри скорее, почему не хватает места блокам - шрифт больше, стандартные браузерные отступы больше, ...
2 - Ощущение, что сам флексбокс-контейнер просто не на всю ширину. Можно исправить с
margin: 0px auto;
Кроме того, если у тебя старая версия android / браузера, то это грустно
can i use