No, sorry. I've got no experience with geofences. I only know about normal 'background location' (or rather the foregroundServiceType).
Yes, android:targetSdkVersion="29".
Yes, SetServiceAttribute(Tracker, android:foregroundServiceType, "location").
No, I don't have an ACCESS_BACKGROUND_LOCATION in the manifest but using the foregroundServiceType:location is still considered 'background location' by Google.
I only request rp.PERMISSION_ACCESS_FINE_LOCATION and there's only the 'When in use' option.
If Google detects some kind of background location, you'll get a notification. The form can be found here: