Would it be totally impossible technically to target API_LEVEL_28 (Android 9)?
Many people in your users "niche" deliberately use an older device (such as Android 9) to limit the phone addiction: newer device => richer experience => even more addiction => for this reason some people in your niche use an older phone.
The app uses several APIs that are not available on older versions. In one moment in time when I had the support of lower versions the app consisted of many wrappers for OS API versions. It was a challenge to support and add new features to such a codebase.
Plus even Android 11 already reached end-of-life support https://endoflife.date/android.
Technically it's not impossible, so I might consider adding it in future.