OP, I rarely post as I am rarely here. Sometimes I read posts and decide others are best suited to help or I better say nothing.
Here, I will say that you have given enough examples and especially the comment about how she could have spent money on this or that while you are eating your cake and that sometimes it you who has paid in these cafes.
To me, this is the only criticism of your friend I have- at least she should let YOU enjoy your cake. As someone said, you have to discuss this decisively and come to some compromise- mine would be for her to stop whinging while I eat- or discuss what should be in the sandwich box that she makes.
I was recently asked how much it cost me to travel for 5 months doing excursions, with one month spent visiting 9 countries. My answer was it was because I didn't have food bills- like other posters I am not a foodie, food is for fuel and also like to keep in shape by only eating when I'm hungry (which is once a day or no much on some days). I travelled alone.
I am recently married to someone I met and we married quickly. While when I visited him prior to marriage his fridge had same things as mine: lean meat (ham that sort of things), cheese, blueberries and strawberries- (I have known respecting other's eating patterns or food they eat was important); I soon found out that because I don't eat often ( either because I am not hungry ( I don't have a big appetite and my digestive system needs a break from constant food as some meals we ate (we cooked them together) were full of sauces (that's sugar) etc ) and when I need to eat I prefer clean food, he turned to 'ping ping meals'. It was hard, but made it clear to him that would sit with him at dinner, but won't participate in this unhealthy eating. What I didn't' do, was speak badly about his food etc etc. Thank God he has now stopped unhealthy eating and that means on the once a week when I want to eat a proper (or full) meal, we have the same healthy meal together.
So, you and your friend need to work through this together. As mine is to do with my digestive system and weight ( I am a small person so don't need constant food, let alone constant heavy food); what I have always done is to allow myself the freedom to eat when I am out with friends by eating clean at home. So my husband and I still enjoy meals out when we go out ( but I need to keep it mostly clean at home).
I also enjoy sitting in nice cafes, sipping my fresh mint tea- it doesn't cost much ( I also hate wasting money). When I lived in Chelsea- I constantly met up with friends at all the fashionable eateries and sometimes just have tea (mostly because we aren't hungry) and occasional meals when are hungry or want a meal.
So, maybe she can 'not' eat while waiting for you in cafes ( I would gladly do that if I don't want to waste money- or as I occasionally do (or I sip on tea while I wait) but because I am not hungry) OR she can sip on tea in the cafes until you both get to the car and she can eat her picnic in the car ( I would respect and support her with that choice too).
Similarly, I have in the past ditched accepting invites to places/homes were they serve people 'junk'-read: Tesco crisps for a birthday party while I and others bring bottles and bottles of wine or gifts. If you are having a party and invite people you need to respect that.
Good luck OP. I have had to navigate this issue all my life but not due to costs (I too can comfortably afford to eat out even when on holidays) and it needs respect, understanding and some healthy compromise.
PS: At my mother's in a different continent: most adults in the house have different menus from the same main kitchen and none is judged. We are all health conscious (my brother's (and his children's- when they all visit) digestive system is worse than mine) and mum is now very old so she has her own diet ( even before that, she was always health conscious). We are a happy close-knit family. My two sisters eat everything.