A better diet to lose weight is a "whole foods plant-based" diet, in which you eat vegetables, fruit, whole grains, and legumes (beans, lentils). You can learn lots more about this from the website: NutritionFacts.org.
Unless the Hgb level is quite high, it probably won't cause a problem. However, very high Hgb levels (above 19 or so) means your blood is thick enough to maybe increase the likelihood of clot formation, leading to strokes, heart attacks, etc.
So in answer to your question, yes, it is probably your diet which is causing you to be deficient in B-12. Vitamin B-12, and sometimes vitamin D (for people who don't get much sunshine) are pretty much the only supplements I recommend. Vitamin B-12 is not made by plants. It is not made by animals either, but is present in meat because animals harbor the bacteria which actually manufacture vitamin B-12. Hundreds of years ago, when our food wasn't so sterilized and was contaminated with a certain amount of bacteria from the soil, we didn't need supplemental B-12, but now we do.
I understand your reluctance to take supplements, but B-12 deficiency is a serious issue, so I strongly urge you to take a supplement in this case.