A: speaker
B: spoken to
sonst
Refers to all the other times the B has had a drink there and also hints at a contradiction between this time and the other times.
For a detailed look on "sonst" check out this article on my blog.
auch
It seems a bit weird because B seems to NOT drink coffee this time. So why use "auch". But the "auch" doesn't talk about what's happening, it's talking about what A assumed would be happening - B drinking coffee. It needs the combination with "sonst" and/or "immer"... so basically a word that shifts focus to time. Without it it would sound the "auch" is talking about what the person is drinking (tea and also coffee). With "sonst" it is about when (this time, and the other times, too)
doch
Is a coloring particle that invites/urges B to agree with A's statement.
For a detailed look at "doch" check out this article on my blog.
When it comes to translation, the words "immer", "sonst" and "auch" kind of blend together and do not need to be translated individually. I think your translation is fine... just add a stress to always and make it sound like there's an unspoken "Am I right??"