Наконец, разобрался, как сделать визуально корректное вертикальное выравнивание в Span-е.
С существующими решениями всё равно приходилось вручную подправлять.
Часть решений — применяют верх и низ строки. Они не учитывают особенности шрифта.
Другая часть решений — применяют ascent и descent. Но не учитывают, что у Roboto ascent выше типичных заглавных букв. Возможно, это это сделано для значков над буквами вроде Ü.
Поэтому сделал решение, которое ведёт себя похожим образом на знак •. Т.е. либо по центру заглавной буквы, либо по центру строчной буквы.
https://stackoverflow.com/questions/25628258/align-text-around-imagespan-center-vertical/62901678#62901678