I'm with those that say yes, it would be okay, as long as no special mention had been made of who the dish was for.
For example I have Type-1 diabetes and so the carbs I can safely eat are limited. At holiday meals, in addition to things like mashed potatoes and regular dessert we usually have lower carb options (mashed cauliflower, sugar free low carb baking etc). If someone else chooses to eat those things, as they often do, that is not rude - maybe other people are trying to lower their carb intake (without identifying as "low carb") etc - who am I to judge?
What would be rude is if someone brought a very limited portion of a low-carb dish to the table and said "Here's some mashed cauliflower for the diabetics" and someone who was non-diabetic took a large helping before the diabetics did.
I think part of the issue people are having Teeny is with the idea of self-identification and blame. First of all, people feel like the "rudeness" in your scenario traces back to the host for failing to provide for their guests, not to the guest themselves. Also, in this example "Ann is a vegetarian, Bob is not, although Bob actually prefers veggie burgers to beef burgers, and doesn't really eat that much meat anyway" Ann identifies as vegetarian but Bob "doesn't really eat that much meat" but doesn't call himself a vegetarian. It seems unfair to call him rude because he hasn't applied the same label to himself as Ann, even if his eating habits and choices are similar.