По по умолчанию последний элемент DockPanel заполнит оставшуюся доступную область содержимого.
Если вы установите LastChildFill="False"
на панели DockPanel, вы увидите ожидаемое поведение. Вы также можете установить VerticalAlignment="Bottom"
в TextBlock.