That difference between Northern and Southern Italy is very true. Southern Italians tend to eat later during the evening, especially in the summer months when it can be very hot.
In the south, three-hour lunch break, also known as siesta, hasn’t died yet. So, they return to work at 3:00 PM and still have another 4 hours of work to reach the 8 hours for the day. That means they’re done with work around 7:00 PM. Which automatically pushes dinner time later.