Код, который вы разместили, отлично работает для меня, размер границы соответствует размеру внутренней сетки, потому что они оба растянуты, чтобы соответствовать размеру внешней сетки.
Если ваша внешняя сетка имеет заданный размер независимо от того, что и ваше внутреннее изображение имеет переменный размер, вы можете рассмотреть возможность перемещения вашей границы во внутреннюю сетку и установки ее горизонтального / вертикального выравнивания по центру, чтобы она не растянуть, чтобы заполнить его содержимое
<Grid DockPanel.Dock="Bottom">
<Grid HorizontalAlignment="Center" VerticalAlignment="Center" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
<Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" CornerRadius="4" Background="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}">
<Border.RenderTransform>
<TranslateTransform X="2" Y="2" />
</Border.RenderTransform>
<Border.BitmapEffect>
<BlurBitmapEffect Radius="4" />
</Border.BitmapEffect>
</Border>
<Image Source="{Binding Image}" Height="150" Width="150"></Image>
</Grid>
</Grid>