Well, it could be a bug as well.
You can check from msglog.txt. You'll see a line like:
(143270):16gg:[#]{011D021B} | Timbercraft option: Fell a tree
{011D021B} is the address of the tile that I was in when I cut that tree down. You can compare it to a nearby line where you're sure in the village, something like
(000000):66g7:[Y]{00EE01AA} | You shake the needles from your shoulders and come forward among the people. You are entering a seal-tribe village...
In my case these are completely different days and places, I just searched through my msglog.txt for examples but if you're in a grove next to a village, then it should be only one number different, like {01230456} for cutting the tree and {01220456} or {01220457}for being in the village, and if they got mad at you in that case then I think it's a bug.