Isn’t the phenomenon just related to the way the vote options are encoded? Use different methods and you will see different R^2 results.
Aren’t the votes represented artificially on a continuous domain for the R^2 calculation but the actual values are categorical values?