In my opinion, ratings look like numbers, but I am not sure they are perceived as such by the raters. For example, if ratings were truly numerical it should be (at least approximately) true that a 4 star rating is twice as good as a 2 star one. As far as I can tell there is no way to prove or infer that, because we do not know what the actual scale is.
Conversely, I think of ratings as just being the enumerated version of some distribution like [‘very bad’, ‘bad’, ‘average’, ‘very good’, ‘excellent’] or something along those lines. There is a scale to that distribution, but we have not way to know what it is. Assuming it away thinking it is 1 to 5 may be a simplification.
Wouldn’t it be therefore better to treat this model as a classifier instead of a regression? The side benefit of that is that there would not be any 3.8 ratio prediction (as in non-integer prediction), but a straight, clean class prediction.