Opening a procedure from SSMS using right-click -> Script As -> Alter, uses utf-8. But, opening the same procedure from SSMS using right-click -> Modify, uses utf-16 LE BOM.
I was having the same trouble using GitHub Desktop to view the diffs from the utf-16 files because they're considered binary. While it's a couple of extra clicks through the SSMS UI, it enables Git version diffs and uses half the file size.
Loading the stored procs into Git has to be done using the first method. Once they're in there, then use Git to open them no problem.
This is on SSMS 20.