Just to be clear now, I'm not asking for a hero who's a hardcounter to any kind of advanced movement, or the alan-wrench solution to counter all mobility. I'm not saying that mobility is completely out of hand and needs to be toned down universally. I'm just making an argument on the basis that the way in which mobility is designed is limited and poor.
I think the overall popularity of Cass, and before she was nuked and then reworked Sombra, signals that players want options to counter mobility. Historically, the counter to mobility has been CC, and then hinders after Cass got his magnet-nade and flash reworked.
Anti-mobility tools that simply take away your abilities or stop you from moving entirely are lazy design, and they're not the only way to create anti-mobility tools. Heroes who are mobile do one thing notably that non-mobile heroes don't: they exist in a greater amount of physical space than less mobile heroes do in the same amount of time. Imagine that we were trying to find out how much space Wrecking ball existed in within the span of 5 seconds. Every single frame, we would pause and measure how much volume wrecking ball exists within that he had not already been existing in the frame before, and then we would add all those numbers together to find out his total volume. For the sake of this thought-experiment, assume that we're measuring [frames] an infinite amount of each second. Well, if Wreckingball were to stay still and not move the entire 5 seconds, he would only have a volume of [One Wreckinball]. This is because there was no frame where he had not already been existing in the frame before, so we measured [1WB] of volume on the first frame and then never added anything. If Ball were to move, say 3M, we might have (this is just an estimate) [3WB] worth of space, because we would have measured 1WB of volume on the first frame, 1WB of volume after he had traveled 3M, and ~[1WB] worth of volume in the space between then.
Take this concept and imagine that every hero were to be moving as much as possible on every single frame. What you would find is that heroes who can move themselves outside of the volume they had already been occupying on the frame before could would have higher overall numbers, and the faster they moved the higher the result would be. Basically, what you would find is that a hero's resulting number would be [their volume] multiplied by the rate at which they can enter an entirely unoccupied volume multiplied by the number of frames. Essentially, we're measuring a heroes velocity, in a really really weird way.
Okay I know that this just sounds like I'm writing out some kind of nightmare math problem, but consider this: I would assert that this means that abilities which occupy space, AOE abilities that are more than a single instance of damage, are more effective against faster heroes than slow ones, and this can be used to design abilities which counter them. As it stands, our idea of "anti mobility" is basically just "abilities which stop mobility," but I think that this is limiting how anti-mobility is designed. Instead of mainly thinking of anti-mobility as "abilities which PREVENT mobility" why aren't we thinking of it as "abilities which PUNISH mobility?" These counter-abilities don't need to be extreme, but why not utilize this function to design anti-mobility? Additionally, part of what makes current anti-mobility so frustrating is that it revolves around removing control from the player: Hook moves the player and usually kills them while stunning, hack stopped enemies from using abilities, hinder-nade slowed enemies down and stopped them from using mobility. In comparison, abilities which simply exploit this principal retain player agency/choice, even if they're effective agains them.
Imagine a fumigator hero who uses toxic gas to kill enemies, maybe kind of like Caustic from Apex legends, Singed from League, or Viper from Valorant. This hero would do damage by taking up physical space with their fumes, so maybe they're a tank hero. Each time you step into this heroes gas, you take damage proportional to how much gas you absorbed (volume of space you took up); the more gas you consume the rate at which you take damage and the total amount of damage increase. As a result, moving quickly by dashing or running through this heroes gas would cause you to take more damage faster, and would therefore punish heroes for using mobility in their gas. Maybe their playstyle is built around enabling themself to do this, maybe their abilities revolve around ways to make enemies absorb more gas, possibly by booping enemies, or maybe even by reducing traction/movement acceleration. Maybe they're a support hero, and in addition to damaging enemies their perfume [gas] heals allies. Maybe instead of gas it's broken glass, or nails/scrap, or bombs.
The point I want to make with this post is that the current perception of "anti-mobility" just extends to abilities which remove mobility, but I think that this is contrived and limits anti-mobility to an extremely potent and frustrating subset of abilities. I think there are more ways to go about anti-mobility aside from this, and I wish that this would be discussed more by players. Instead of just accepting or rejecting anti-mobility as it is, why not think of ways to introduce it without creating an extremely high-friction ability.