По умолчанию для свойства box-sizing задано значение content-box. Это означает, что любая указанная высота или ширина задает размер области контента. Вместо этого можете присвоить значение border-box. Таким образом, свойства height и width задают суммарный размер контента, отступов и границ, и это именно то, чего вы хотели добиться в этом примере.