Asking people to be available after 6 PM certainly is a violation of general "business hours" norms, but there are reasons why a business would have a legitimate reason for requiring this, and having people in widely separated timezones is one of them. This is a situation where both you are the business have legitimate needs that are conflicting, and both of you should be making accommodations for the other. The business should be limiting these meetings as much as is practical, and using them only when the meeting is truly important, and you should be willing to occasionally stay late.
You seem to have two main concerns: the lack of dinner, and the length. For the first, if you have time before the meeting, you can have dinner then. You should be able to go two hours without eating. If you don't have time before the meeting, i.e. they are scheduling things before a late meeting, then it is perfectly reasonable to ask them to move things around so you have a break.
As for the meetings that go for four hours, that's an unreasonable amount of time, regardless of when it takes place. If the company really needs that much time, they should have at least have a 30 minute break in there in which you can have a meal. This is not just a matter of food but also four hours without a break being rather exhausting. If they refuse to have a break, it's reasonable to have a meal during the meal (although, if you can, put your side on mute while chewing). Snacking during a half-hour meeting would be unprofessional. But if a meeting is four hours without a break, at that point you're having a meeting during a meal rather than a meal during a meeting.
Ultimately, some jobs are more demanding than others, and in different ways. Your job requires more flexibility on schedule than most. You can try to negotiate more accommodation for your schedule, you can look for a different job, but taking the job and then refusing to do what the job needs is unprofessional.