I was once told I could not take a can of cola to a rugby game in case of a hypo. Like you, I was told I could buy it at the bar if needed. As I travelled by train, I had no car nearby to store it in and had to hand over the unopened bottle.
Thankfully, I also carry Dextrose so it was no major issue (just a waste of money).
As a frequent flyer, I never rely on liquids for hypo recovery and find something which is clearly not food to be the most accepted.
As for it being against the law to stop you taking food into a venue, I do not think this is the case. Many places have this rule to protect their business - as well as being a skating rink (or rugby stadium in my case), they are a food and drinks retailer. It’s just like a cafe asking you not to use their tables to eat your picnic you bought from home.
If you need. To carry specific items for medical reasons, i think it is fair to be required to carry proof that it is required (security and entry staff should not be expected to know all medical requirements).