I have ran into this as well. Be sure to be on an internal testing or production build for iOS to get it working. I had to restart the app to get it to work only for iOS, when using expo go or local dev mode.
See https://github.com/expo/expo/issues/26373
This will effect geofencing along with getting locations on first boot as the tools for the dev builds are effecting the task effectively not to run on first boot. Android works fine on first boot as it is not affecting the task manager.
If you still having issues, refer to this article on having it set up correctly. It is pretty spot on to get a minimal working example: https://articles.readytowork.jp/geofencing-in-react-native-4d8cf42fe90c