Okay, I’d like to address the bolded points.
1.) The whole “when we’re in public” thing is problematic in my opinion because it speaks volumes about your own insecurity. It seems to me that if you are feeling this way in public, you are afraid of what people might think of you and you have no qualms about shunting your girlfriend under the bus so to speak, in favor of how you believe society views her. No matter who your girlfriend is, you should be proud to show her off in public and you shouldn’t let people’s pettiness get in the way of your relationship.
2.) The fact that she’s trying to lose the weight shows you that she cares about health. She sounds like a wonderful person who was given this cross to bear in life. No one is perfect, and if this issue really bothers you, you have a couple of options. You could break up with this girl, but just know that if that’s the case, she deserves better. You could try and join a gym with her, or maybe just eat healthful foods. You know, it’s difficult to lose weight because for the most part, it is caused by emotions. If she’s feeling your reluctance to become close with her because of her weight, this could in turn, drive her to eat more for depression/anxiety. The least you could do is be supportive of her, not only with encouraging comments, but by actions. Understand that this issue is one of the most difficult ones, and that she’s trying her best. She’s only human, and again, no one is perfect.
3.) The fact that you say she’s a good kisser shows that there is some attraction on your part. Bottom line is that if you truly care about someone, something this trivial shouldn’t matter. Especially if that person is as great of a catch as you have said that this girl is.