Rolling your own isn’t a half bad idea compared to the necessary kludge. The filter is ‘get_archives_link’, your callback is passed the HTML link and text of each item in the list, one at a time. You have to search and replace all the months that could be in the link text.
This process will be applied to all calls to get_archives_link(), not just widget calls. If you do not want the same filter applied elsewhere, you need to figure out a way to detect widget calls from other calls.