Не отвечает «почему» (должно быть что-то с разваливающимся краем), но кажется, что самый простой / самый логичный способ сделать то, что вы пытаетесь сделать, - просто добавить padding-top
к external div:
Незначительное примечание - не обязательно устанавливать div в display:block;
, если в коде нет чего-то другого, говорящего, что он не должен быть блоком.