正解はwidth/heightにpaddingとborderが含まれることです。デフォルトのcontent-boxではpaddingとborderがwidthに加算されますが、border-boxではwidthの中に含まれるため、レイアウト計算が直感的になります。