yeah. I do believe it's a class thing. Dinner is the main meal of the day. People who come from an agricultural background tended to traditionally have their main meal at midday, and a smaller meal at night. Hence, dinner being midday for them.
Similarly, richer families tended to have their main meal at night. Hence, dinner being the night time meal.
I say breakfast, lunch/dinner, supper.
No, it sounds really weird. We say 'yesterday evening' and 'tomorrow evening' but never 'today evening' same applies for every part of the day. You'll never hear 'today morning' or 'today afternoon' etc. You could say something like 'during the evening today I plan to play the piano' but it sounds overly formal for normal conversation.