In An Outline of Middle Voice in Syriac by M. Farina, she connects this with unaccusativity (some layout changed in the examples):
Unaccusativity can surface in different ways in languages. In Italian, for example, unaccusative intransitive verbs receive a different auxiliary (essere 'to be') from unergative intransitives (which take avere 'to have'). Moreover, the unergative verbs have the same auxiliary received by active transitive verbs (such as mangiare, 'to eat'), while unaccusatives take the same auxiliary which is used to express the passive. This proximity to the passive shows how the subject of the unaccusative verb is considered as undergoing an action or a process, just like the subject of passive verbs. Both subjects are objects at a deeper level of analysis. The situation of Italian can be exemplified as follows:
Italian partire 'to leave' vs. camminare 'to walk'
- Stefania ieri sera è partita — "Yesterday evening Stefania left."
- Stefania ieri sera ha camminato — "Yesterday evening Stefania walked." (with a Terminative Aoristic interpretation)
Italian mangiare 'to eat'
- La mela è mangiata da Stefania — "The apple is eaten by Stefania."
- Stefania ha mangiato la mela — "Stefania has eaten the apple."
So, her claim (for which she sadly does not give any references) is that "to be" is used when the syntactical subject is affected / a semantical agent, whereas "to have" is used when the syntactical subject is also the semantical agent.
Pronominal verbs are syntactically "directed at oneself", as you put it, but are semantically often middle voice. They are not true active transitive verbs, since it concerns an affected agent. This affectedness is reflected by using the same auxiliary as the one used for passive constructions.
In An Outline of Middle Voice in Syriac this is really a remotely related issue; Farina uses it just to explain the concept of unaccusativity and how it can surface in a language. So, surely there are better references for this available (which also compare other languages), but this is not my field so I wouldn't know.