I’ve previously had to make a URL shortener at a previous job. One of the requests for it was that any query parameters passed to the short URL, would be passed along to the long URL. So a request to sho.rt/xyz?foo=bar would redirect to example.com/?page_id=123&foo=bar. The main reason for this was that the short URLs would be posted on Facebook for campaigns, and if you then promote a post (buy advertising) Facebook would add extra query parameters onto the URL in the post. So passing on these parameters would allow people to know how many clicks came through organically and how many where through the paid advertisement.
Thinking about this again, it seems like a silly use case for a URL shortener, but it might be people wanted the ability to change what the short URL pointed at after it was posted, I can’t recall.
Link shorteners were created in the first place mainly because of sites with huge query strings with lots of junk in them. Their effect has instead been to normalise the wrapping of links with extra tracking layers. The fact that this has gone so far as to mean adding query strings with junk to “shortened” URLs is so deep in unintended consequences territory as to end up sunk in the irony swamplands.
I was using the suckless http server for a while but it would fail to serve any links from facebook because facebook would slam a load of random query parameters on the end, so I had to switch to nginx.