If she'd come from the other end of the country and had just finished a 12-hour drive, then fair enough. Her estimate might have been a lot out. But she hadn't left at 3:30, and was parked outside waiting by 4:45 (we don't know how much before that she arrived), so she was leaving at least double the amount of time needed. By parking outside rather than around the corner, and then the passive aggressive message, she was very clearly putting pressure on the OP to drop whatever she was doing which meant she couldn't meet until 6:00, and reschedule because she arrived on her terms instead. It's incredibly rude. Ruder in my view than arriving 90 minutes late.
If I've said, I'm free to meet at 6:00, it's because that's when I'm free. Before that I might be doing other things, having a shower, having an nap, wrangling children, doing work, whatever.
If she was 90 minutes late, it would have inconvenienced the OP in terms of her being hungry, but she wouldn't have necessarily had to reschedule her plans. Arriving early and passive aggressively. Pushing the other person into changing their plans is far more intrusive.
If you want to arrive somewhere an hour and a half early, crack on, but park around the corner and sit in your car, or go to a cafe. Don't sit outside putting pressure on someone.