Я как-то упоролся в такую ошибку, использовал тоже этот метод, в итоге получилось так, что у меня задублировались заголовки. Лучше использовать request.newBuilder().header(...). В таком случае гарантируется что будет только 1 хедер с указанным ключем, а все существующие заменятся.
@terrakok у меня к вам вопрос по авторизации: authInteractor.isSignedIn() вызывается в LaunchPresenter, который в свою очередь использует authData.token, т.о обращение к Preferences идёт на UI-потоке.