How to display views exposed filter as links when the filter is a date field with year granularity?
You are almost there: you have to group your results by the year field.  In the settings of your display format just pick a grouping column: