Просто чтобы добавить очень простое решение, мне этого было достаточно, и я думаю, что это решает проблему OP. Я использовал решение в этом ответе, за исключением обычного Backgroundзначения вместо изображения.
<Style x:Key="SomeButtonStyle" TargetType="Button">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid Background="{TemplateBinding Background}">
<ContentPresenter />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Никаких повторных шаблонов, кроме принудительного Backgroundвсегда быть Transparentфоном из шаблонной кнопки - наведение мыши больше не влияет на фон, как только это будет сделано. Очевидно, замените Transparentна любое предпочтительное значение.