My sister has run into this before as well. You have to be very careful because 99% of QR generators out there do something like that. I’ve found some that don’t for her to use but I really should just vibe code up a website for her that I know won’t do a bait and switch (obviously they can’t change old “pure” QRs but they could start doing redirects on new ones at any time).
A European gym chain hosts a very simple end-point for their entry QR codes — just a GET with the data in a query param — so I tend to use that one just because it somewhat amuses me every time.