Here's my understanding of t_time_info.
t_time_info in the AA data feed maps to the beacon parameter, 't'.
The table below is from https://experienceleague.adobe.com/docs/analytics/implementation/validate/query-parameters.html?lang=en#validate

The 't' parameter is automatically set within AppMeasurement.js. Below is the specific line of code that does this (look within the a.Fa function).
var b = new Date, d = "s" + Math.floor(b.getTime() / 108E5) % 10 + Math.floor(1E13 * Math.random()), f = b.getYear(), f = "t=" + a.escape(b.getDate() + "/" + b.getMonth() + "/" + (1900 > f ? f + 1900 : f) + " " + b.getHours() + ":" + b.getMinutes() + ":" + b.getSeconds() + " " + b.getDay() + " " + b.getTimezoneOffset()), e = a.T(), g;
When might t_time_info be omitted in the data feed?
Can this value be set manually through Launch?
Yes, via s.timestamp. (see https://experienceleague.adobe.com/docs/analytics/implementation/vars/page-vars/timestamp.html?lang=en#timestamp-in-adobe-experience-platform-launch)
If the setting of this value is arbitrary, like suggested by @Gigazelle , why does it exist? Is it just a Satellite holdover?
I think that this is answered above, but No, it has nothing to do with the TMS (Satellite, DTM, or Launch). It has everything to do with Adobe Analytics and AppMesurement.js.