Most of what you listed is either incorrect, irrelevant or purely subjective. I'm doubting your familiarity with the system.
> All written in Java with Activities instead of Kotlin
...
> The way he's handling synchro (persistent foreground service) is _explicitly something Google is targeting for battery issues_
Yes and Android will kill the app if it violates a constraint. It's not forbidden or won't get your app rejected.
> He also does not appear to use any modern Android APIs that Google requires, despite declaring the following restricted permissions
AAAAA. The use of those permissions is not forbidden, they're even needed for backwards compatibility. On newer Android versions and newer target API level, you probably have to start using the new APIs, but that's normal. This won't get even your app rejected. (Contacts is not special even in that aspect, you just have to have a good reason to use that)
> In fact I see him explicitly calling deprecated methods that Google has declared off limits
Deprecation doesn't mean absolutely forbidden. At worst it means that code won't work on newer Android versions and will throw an exception, won't get you rejected.
> That's absolutely a smoking gun and potentially the reason Google would ban him.
Absolutely none of those things is a sufficient reason for a ban. At worst a rejection might happen for other reasons stemming from legacy code, but I don't even that applies here.
Keeping up with the churn of Android takes work and is difficult for most, but legacy code won't get you a ban like this.
> All written in Java with Activities instead of Kotlin
...
> The way he's handling synchro (persistent foreground service) is _explicitly something Google is targeting for battery issues_
Yes and Android will kill the app if it violates a constraint. It's not forbidden or won't get your app rejected.
> He also does not appear to use any modern Android APIs that Google requires, despite declaring the following restricted permissions
AAAAA. The use of those permissions is not forbidden, they're even needed for backwards compatibility. On newer Android versions and newer target API level, you probably have to start using the new APIs, but that's normal. This won't get even your app rejected. (Contacts is not special even in that aspect, you just have to have a good reason to use that)
> In fact I see him explicitly calling deprecated methods that Google has declared off limits
Deprecation doesn't mean absolutely forbidden. At worst it means that code won't work on newer Android versions and will throw an exception, won't get you rejected.
> That's absolutely a smoking gun and potentially the reason Google would ban him.
Absolutely none of those things is a sufficient reason for a ban. At worst a rejection might happen for other reasons stemming from legacy code, but I don't even that applies here.
Keeping up with the churn of Android takes work and is difficult for most, but legacy code won't get you a ban like this.
The reason is something else.