Hi Dani, HUGS first of all!
In terms of the power struggle, as you know for sure your DH getting angry will not help. Let him know that it will only increase anxiety (ask him how he would feel if someone got mad at him whenever he ate).
Does she have a day nap, if so where does it fit into your routine?
In terms of not eating then preferring cookies later, it would be easiest to simply not have cookies in the house. She will learn that she can't rely on them later to fill her up. In terms of having chocolate milk, don't have it available either. You could re-introduce those things when she settles into a food routine you are happy with.
I'm not sure but given your DD's food intake, she is having a milk breakfast, yogurt and ham lunch, and if she's having some yougurt and cheese at dinner her protein is probably OK. But a lot of toddlers don't like the texture or hard work of meats, which is why so many prefer mince or sausages over the better quality cuts such as steak! Eating small quantities of meat is probably OK, but understand your concern about her weight.
Here is a good recipe. Simmer in beef stock a quality beef steak, cool once cooked and puree. Add to rice noodles (or pasta) along with a tin of tomatoes and peas or other veges she likes. As the beef becomes the 'sauce' and sticks to everything else it might be easier to get her to eat it. My DD and myself love this meal! It's quite tasty.
I think a two-pronged approach of being completely calm and unaffected during meals (I know a HUGE ask for all) and not bringing cookies or giving chocolate milk (the trouble foods) can help to make meal times easier. Ask your MIL and mum to hide cookies in another room while DD is there to help the process. Not having cookies doesn't need to be a punishment, just make up some excuse that 'the shops ran out of cookies, oh no!! oh well'
If she still doesn't eat lunch with you guys, you could take another approach and give her the opportunity for her to have a snack between lunch and dinner. A suggestion would be to just leave a small platter of healthy food options for her on a table her height and don't mention it. That way there is no pressure of 'it's time you sat down and ate a meal now' for her and she will eat if she wants to. Might be good for increasing her weight a little.
Does she help cook at dinner? When my DD has been difficult to feed in the past, I've got her to help make mini vege pizzas or such and she loves it! She often eats many of the toppings raw before they get on the pizza and she thinks that's pretty cheeky!
Giving your DD power in her meals and limited choices could help avoid a power struggle.
Good luck, hope my rambling helps!!