If you use coroutines it's better to switch thread instead of annotating, so it would be transparent for user of this api, but of course it means that method becomes suspend one
I believe support of thread annotations is a part of Android Plugin and it pretty limited (I mean detection of incorrect usage), I would report it to Android issue tracker to support at least case when call wrapped to dispatchers