My employer's product already does this. Combination of
https://tools.ietf.org/html/rfc1191 and own fragmentation and reassembly algorithms.
Use methods to establish link MTU then use MSS clamping to ensure TCP segments are the correct size. Where protocols do not have an MSS use own encapsulation, fragmentation and reassembly to break large packets down and reassemble them on the other side.
If running a tunnel you obviously have endpoints either side of it so it's not a problem to do this.
So this is already a done thing from a number of vendors. It's basically offloading the overhead of fragmentation, reassembly, etc, from the endpoints to an intermediate device and is usually used for things like replication tasks where an FCIP blade appears to use jumbo frames, the actual transport being abstracted by a tunnel.
Using TCP inside TCP isn't really a thing from this point of view. Usually you'll be wanting your own proprietary protocol for other purposes so may as well incorporate the functions of TCP you need into that and encapsulate in UDP, GRE or something else.
In the case of our software GRE, UDP, IPSEC over UDP (NAT-T) and AH/ESP are available. When transporting TCP we will place it inside something else and, depending on conditions, either have the host and server layer 4 session untouched or run a TCP proxy to improve throughput.