Vertical-align, примененный к блочному элементу задает параметры для вложенных строчных элементов. А не к node.textContent. Поэтому для таких ситуаций следует использовать flexbox-ы.
Конечно можно реализовать грязный хак, задав вложенным элементам свойства строчных элементов, но это уже из области абсурда. Хотя ситуации бывают, да.