preserveAspectRatio="none"
, а для отдельных элементов с обводкой задавать vector-effect="non-scaling-stroke"
.Проще всего добавить пустых ячеек в начале и конце каждой строки.
Подправил
By default, flex items won’t shrink below their minimum content size (the length of the longest word or fixed-size element). To change this, set the min-width or min-height property.
Что картинка не уменьшается меньше родной ширины - не вижу.