Много где сказано, что строчным элементам нельзя задать верхние и нижние отступы и поля. И вроде это правда, но padding как-то влияет на происходящее, при задании заднего фона это можно увидеть. Почему так и где об этом можно прочитать, или же тут не о чем читать и нужно принять это просто как данность?
Кстати, цвет фона строчного элемента отображается поверх вышестоящей строки текста, но под следующей, так как браузер обрабатывает каждую строку так, будто она расположена в стеке, наверху по отношению к предыдущей.