I guess it's a kind of FEC. To me, FEC usually means that (a) the error-correction information is smaller than the message it covers and (b) the error-correction information is included in the message it covers. The Header Error Control field in an ATM cell is the canonical example for me.
But, yes, sending duplicates in another datagram does allow errors to be corrected without being reported to the sender, so it corrects errors in a forward direction, which i suppose makes it FEC.
That Google tail loss stuff is nice, thanks for the link. It's cool that thirty years after RFC793, we're still making significant improvements to TCP.