Or you can set your DNS resolver to dns.adguard-dns.com and it blocks almost all ads. You can search "private dns" in Android settings app and set it there.
TCP ensures what gets sent on one side gets received on the other side. TLS just encrypts the data. So even without TLS, random corruptions won't happen unless someone does MITM attack.
I was vibe researching TUN/TAP devices a few days ago. Cool to see such cool projects using them. I was mostly thinking about making a VPN prototype through.