system_messages.silenced_by_staff is the template for the pm the user receives, and that would(/should) only be sent out as an email according to their email preferences (and system_messages.unsilenced is the same).
The email in your OP is from where you enter the reason in the Silenced screen:
Leaving the second box blank would suggest to me that the default template (system_messages.silenced_by_staff) would be sent instead, but actually it seems to send this email out separately from the pm template, and it only sends what you’ve put in the box:
(my test user received this short email, as well as the longer template pm - but then did not receive a follow up email regarding that pm).
I tried copying and pasting the template into the reason box as a workaround, but it did not like the parameter fields: (and the links look right, but go nowhere as they have parameters in the url)
I could not find a template to change for this email, but it seems like there’s some scope for variation, if that’s any help?
However, the ‘unsilenced’ one works as expected. A pm is generated from the system_messages.unsilenced template, and an email is sent as long as the user has the correct email preferences set up.
I seeing the same thing with silenced users. I agree with @JammyDodger that this doesn’t seem to be the intended function of the ‘Email Message’ field since no default message is ever sent in the silenced_by_staff email.