MPTCP works just fine on different internet connections, while ECMP assumes everything has the same bandwidth. And the MPTCP gives the reliability of TCP: if one connection is dead, it'll detect it and transmit lost packets to the other one. It even supports break-before-make, so you can loose all your internet connections, then get a new one, and it'll resume.
This is intentional: TCP treats packets received out-of-order as representative of an overloaded network. There’s generally a guarantee that packets sent in-order over a single link will be received in that order, but no such guarantee exists for packets sent through two completely independent links/networks. You need something on the receiving end (either at the destination or at the point where the separate paths converge) that will coalesce and re-order packets, such as an MPTCP or PPP implementation.