After careful diagnosis (as much as you can, of such things) and checking off everything else, I inferred that the local ISP’s peering arrangements were terrible.
I was regularly uploading to YouTube while there: early on I would normally get 30–40Mbps, but at some point (maybe around September?) it dropped to ~1.4Mbps, only going up to 10 or 20 once every couple of months (and even that commonly only for ten or fifteen minutes). In February and early March it started improving again more often, but still not consistently.
(The ISP also NATted who knows how many customers across what looked to be a /24 or /25, done in such a way that I would not have a single public IP address—if I asked canhasip.com, canhazip.com, whatismyipaddress.com and a few others, they’d probably all give me different answers. And if I looked at BitTorrent downloads from the addresses, multiple full movies and such were being downloaded daily, traffic which definitely wasn’t coming from the household I was at.)
Here is the global index: https://www.speedtest.net/global-index The US is definitively ahead of India in Fixed Broadband (180mbps vs 55mbps); though for a populous and developing country, India is certainly doing quite well.
For example in Lithuania I have 1gbps with no limits for 20€.
IMO data caps should be there, since if they are not there you can assume they exist but are hidden. Because per GB cost is low for ISPs, but not zero. I feel it is better that limit is made explicit and visible.