Все потому, что у input font-family не inherit по умолчанию, то есть не наследуется, а задан в стилях браузера. Соответственно Ваш стиль перекроет это правило только если Вы конкретно для input укажете font-family, или будете использовать *.
codepen.io/iiil/pen/chtkb
Вы не совсем понимаете принцип наследования. К примеру, если Вы укажете высоту для общей обертки или для body в пикселях, то это не приведет к тому, что все дочерние элементы будут наследовать эту высоту. Скорее всего Вас это не удивит, так как по умолчанию элементы высоту не наследуют. С font-family же Вы удивляетесь потому, что большинство элементов его наследуют, но вот есть исключения.