まず、分詞構文とは何かを理解する必要があります。
分詞構文:接続詞+主語+動詞 を 分詞(現在分詞、過去分詞) に変えて、次に来る文(主文)を補佐する
この例文の正解は①です。なぜか?
<通常の文> Because(接続詞) it(主語) had rained(動詞) the night before, the road(主語) was(動詞) muddy.
<分詞構文> It(主語) having rained the night before, the road(主語) was muddy.
つまり、接続詞のある文(分詞構文になる文)の主語と、後ろの文(主文)の主語が異なる場合
⇒ 分詞構文に元の主語を残さなければいけない規則があるからです。
「なぜ2や3を選ぶと意味上の主語がthe roadになってしまうのですか?」
⇒ 分詞構文の中に主語がない場合は、後ろの文(主文)の主語と同じであるとみなされるからです。
②を通常の文にすると、Because the road had rained the night before, the road was muddy. となります。
③を通常の文にすると、Bedause the road had been rained the night before, the road was muddy. となります。
では、④はどうなるのか? Because it was rained the night before, the road was muddy. となります。
動詞の部分 was rained(受動態) が間違いです。rain(自動詞) は受動態にできません。
以上、参考にしてください。