先ほどの②は最も曲者です。
なぜならcutは不規則変化でどれもおんなじ形を取るからです。
②I have my hair cut

このcutは何形でしょうか。

はい、過去分詞形です。ややこしいですね。
my hairが行為を受けた方だからです。
誰かが自分の髪を切ったということを経験したというのがこの文章の言いたいことです。

例えば、同じように彼が切ったていで作ってみました。
②a. I have him cut my hair.
cutがややこしいので
②b. I have him shorten my hair.
②c. I have him style my hair.

彼が切ったということで落ち着いたんですが、①と比べてどうでしょう。
①    I have a haircut.
②    I have my hair cut.
②a. I have him cut my hair.

なんか長くなってません?
はじめは「髪切ったよ」くらいなのに、3つ目なんて「彼に髪切ってもらったんだ(髪を切らせたんだ)」になってます。情報は増えてますが、メッセージの密度は薄まってます。それに比べて①は「髪を切ったよ」とメッセージがダイレクトに伝わります。

続きます。