Похоже, что хром вычисляет размеры градиента в зависимости от размеров svg, где был определен этот градиент, а не от размеров, где он был использован. По умолчанию svg имеет размеры 300x150 и значение атрибута градиента
y1="100%"
вычисляется как
y1="150px"
. Далее этот градиент применяется к svg с
viewBox="0 0 10187 8873"
, в итоге градиент имеет высоту 150 единиц, а высота самого svg при этом 8873 единицы, от чего у иконки
id='a'
и появляется тонкая синяя полоска высотой ~1.7% (150/8873 * 100 = 1.69052%) . Для наглядности можно добавит градиенту атрибут
spreadMethod="repeat", от этого некоторые иконки станут полосатыми.
Как исправить? Очевидный способ - не использовать значение атрибутов x1, x2, y1, y2 в процентах. Нужно подогнать все иконки под один размер viewBox, например 256x256 и для градиента задать атрибуты
y1="256" x2="0"