Your docs state:
ACCESS_COARSE_LOCATION: Apps targeting Android 12 (API 31) and above must also request this permission in addition to ACCESS_FINE_LOCATION.
However your code only requests the SCAN permission: https://github.com/PunchThrough/ble-starter-android/blob/api-34/app/src/main/java/com/punchthrough/blestarterappandroid/PermissionsHelper.kt#L44
I've been able to reproduce in my app that I cannot scan and find any BT devices unless the COARSE location permission is granted. I'm running on a Pixel 7 / Android 13.
Is this something you are aware of?