I've seen it happen with Telenor and Zong - albeit less. It's more of a hit-or-miss for the operators, and I've come to the conclusion it happens with ALL operators (it happened with O2 in London as well several times).
You can prevent it from falling back to 2G by forcing your phone to use either 4G or 3G - on standard Android phones, you can configure this via the *#*#4636#*#* menu. Not sure about the others.
So it's not an issue specific to Mobilink - but yes, there are places where 3G signals, outside (on the road), are strong but it'll fall back to 2G (and this specific spot has both 900Mhz and 2100Mhz signals, and both are strong). I asked a network guy and he said this is controlled by their servers. Forcing my phone to not go below 3G resolves this problem, but when they don't have 3G or 4G coverage in a specific place, then you're out of luck.
So... I've tried giving up when I remembered I had the same issue in London. I do know that on the previous floor in my building, there was an antenna so calls never fell back onto 2G. But in the new floor I am on, there's no 3G antenna so calls drop to 2G randomly. Telenor and Zong also have this issue in my office building.
But it's okay. We're bashing Mobilink. Let's continue to do so (I'm all in!).
And regarding my previous message that they're kicking me off the FnF package: I'm now on the ex-FnF package, which gives me 25GB data (free), 6,000 SMS (free), 500 on-net minutes (free) for Rs. 500 + tax. It's not free, but it's alright. Still cheaper than what I would be paying with Telenor or Zong.
And speaking of Telenor:
https://www.telenor.com.pk/price-plans/postpaid-price-plans/freedom-plans/ they've refreshed some of their postpaid packages. Rather competitive, yes. Not as fast data speeds, but it does get the job done.