It's a common issue with daytime LH flights which leave in the morning - similarly for early flights to the Gulf for example.
I agree that a light breakfast and full late lunch/early dinner would make more sense. My guess is that BA (and many others, but apparently not VS) do it this way largely because it's easier and more standard for crew. Get the hard part done and dusted, then downtime, then short(ish) pre-landing service.