It may still be free to you, however, your surgery will have pre-ordered, and paid for "your" vaccine. When the jab is then done at whichever pharmacy you choose, the charge does not go to you, but is billed back to your local surgery who have to settle that bill. On that basis, they will have paid for a vaccine, not delivered, plus a further fee for both the vaccine, but for the pharmacy to inject it.
I'm not saying this is right, wrong or indifferent, but where surgeries are balancing, and often struggling with budgets, you can understand why they could be irritated by it.
At my surgery at the recent flu clinic, on a Saturday morning 08:30 - 12:00, over 1000 vaccines were delivered in 2 minute slots. It was a very slick process, which most patients seemed to find very satisfactory, and all staff were in casual clothes, with sunny dispositions, because they knew they were shifting a whole load of work.
As an aside, the bake stall and tombola raised very significant sums split between MacMillan Cancer Support and the local Air Ambulance, who are their currently chosen charities.