My app has a background service
running that gets users current location
and update it to a server every five minutes. To run this location>
I'm currently facing the same issue and doing the same workaraound like you do. That is, setting the Jobscheduler to a periodic job to launch my Foreground Service every 15 min in case it is getting killed for whatever reasons like a killed task. This works like a charm on pre Oreo Versions.
For Oreo the only solution I am awared of at the moment is, to allow the app to autostart in the settings. Under installed apps that is. Then it should work like pre Oreo again. What Ive heard but not tested yet, is to set the setPersisted(true) option in the Job Scheduler. Let me know if that helps