Long-lived connections die after 60 seconds.
Something in the path has an idle timeout, and the fix is keepalives shorter than it. Set TCP keepalive on the socket and, for HTTP, send a periodic ping frame. Raising the timeout on your side alone never helps, because the proxy is the one hanging up.
Requests hang for exactly five seconds sometimes.
A five second hang is almost always a DNS timeout, often IPv6 lookups failing before the IPv4 retry. Check with dig +trace and compare getent hosts to a direct query. In containers the usual culprit is a search domain list that turns one lookup into five.
Any downside worth knowing before I commit?
It commits you to a format that is tedious to migrate away from later. The first weeks also look worse than doing nothing, which is when most people abandon it.