Openwrt 19.07 is installed on a FritzBox 4040. When using a wired WAN connection, everything is fine (Windows notebook connected via Wifi to the 4040).
When connecting my Android 11 phone via USB tethering (according to the manual); LTE is used), I can ping servers and downloading of "simple" html pages work (google search, http://simple-http.com etc.). When opening more complex/modern pages (like bbc.co.uk), it seems like only the html part (and sometimes small pictures or only the first and only partially) are downloaded -- but the page is never shown completely.
When I use wireguard on the Windows machine to connect to a vserver, everything seems to be fine. Also, when enabling a wifi AP on the mobile phone, everything works fine.
I tried to reduce the MTU to 1300 (just to be sure), but it didn't help at all. I also wasn't able to find similar issues in this forum. I didn't find error messages in the System/Kernel log that clearly indicate an issue to me.
This is a very good question.
When setting no MTU, I can ping up to a size of 1472 bytes (i.e. 1500 with 28 bytes header):
ping www.heise.de -f -l 1472
Pinging www.heise.de [193.99.144.85] with 1472 bytes of data:
Reply from 193.99.144.85: bytes=1472 time=51ms TTL=239
Reply from 193.99.144.85: bytes=1472 time=41ms TTL=239
Reply from 193.99.144.85: bytes=1472 time=56ms TTL=239
In the internet I've found several (possibly outdated) pages claiming that O2/Telefonica is only able to transfer packets up to 1024 bytes. Setting the MTU to 1024 or 900 did not help for me; also I think at least 1280 bytes should be possible because I can use IPv6 on the smart phone (which was introduced few weeks ago).
In case it helps, this is the content of /etc/config/network (MTU size of 938 was just one experiment):