I don't really use either of these... (we have another analytics tracking system that operates using a heartbeat tracker so we defer to that for time spent)
Average Time on Site has some limitations such as the last page of the visit is lost as there is no server call to calculate the time spent....
That said, since you likely have lifecycle metrics in your app, and sending the app to the background should trigger an analytics pause, there should be a timestamp for Adobe to use in their calculations.... While I can't find any documentation to support this theory, I suspect that in the case of the apps, the time spend is higher because the last page/screen of the app is getting time associated towards it by using the pause lifecycle in the calculation......
This might make the mobile version more accurate... BUT at the same time, it means comparing your website to your app on engaged time is comparing apples and oranges due to inherent differences in the calculations.....