As we know, Detect Incidents for Geofences reports the results with a Status flag ('Started', 'Ongoing', 'Ended'). There is also an accompanying Incident Duration Field along with other joined fields that come out of your Geofence/polygon layers.
There is no slick way (that I am aware of) of reporting time on site against each geofence using this information. The incident status 'Ended' field should typically have the total time spent on site, but since this observation was recorded outside of the geofence, it doesnt include any information from the join fields and leaves them blank. If this wasnt the case, you could simply have a filter for IncidentStatus = Ended and could have reported each Geofence incident with the Track ID, Geofence Name/ID (from Join Field) and time on site.
I have tried to figure out an efficient way within arcade to isolate this information, but havent been able to figure this out yet. Anyone who has been able to effectively translate this info directly from the Detect Incidents Output table, appreciate if you can shed some light on your observations/learning.