It's a good question
I'm French. (my apologies for inevitable mistakes.)
Of course some differences exist, but thinking about it, I don't succeed in finding a general rule for "devoir" or "avoir à".
Like in English with "must" and "have to."
Regarding avoir à faire qqch, I don't have the impression that there is any difference between that and to have to do.
You're right, though, it's not common. Usually, we say avoir qqch à faire.
Hum...I think we do this inversion often when the sentence is longer, when there are qualifications to "qqch"~
"J'ai des choses à faire"
but:
"J'ai à faire des choses qui/que..."
"J'ai à faire des choses que"
In the past tense, it sounds better.
J'ai eu à faire certaines choses que...
I think that's to avoid breaking the continuity of the sentence.
J'ai eu à faire des/certaines recherches que mes camarades avaient négligées.
Of course, else you can say:
J'ai eu des recherches à faire, que mes camarades avaient négligées."
Notice I used a comma.
As "hunter" said on a precedent post, we use this turn with "juste" or "ne + que":
Tu as juste à faire ce qu'on te dit (de faire)
Parfait ! Il n'a plus qu'à signer.
Maintenant, on n'a plus qu'à attendre
Maintenant, on a juste à attendre