Проблема в том, что вы принимаете размер определенных символов в конкретном шрифте; это предположение, как правило, будет ложным, и вы не должны этого делать. Вместо этого измерьте объем пространства, которое фактически занимает элемент - это довольно тривиально в Javascript, или настройте элементы таким образом, чтобы браузер размещал их так, чтобы они не перекрывались с самого начала.
Это не специфично для Linux, но может произойти где угодно, если браузер решит заменить другой шрифт (что вполне возможно) или переопределит ваш выбор размера шрифта, любой из которых он вполне может сделать для удобочитаемости, настраиваемых пользователем параметров и т. д.