②④の説明は正しいです。
③はおっしゃる通りwhen you comeにするか、whenじゃなくてwhileを使えば正しいということなんだと思います。
> ③はwhenの副詞節で未来のことを現在形にする
時・条件を表す副詞節は
必ずしも「現在形」にするとは限りません。
will +進行形は現在進行形にしますし、
will +完了形は現在完了形にします。
I'll have finished the work while you are coming.
whileの節は時を表す副詞節です。
主節が未来のことなので、うしろのSVもyou will be comingとしたいところですが、
whileの節なのでwillを取って現在進行形にしています。
>whenと現在進行形は使えないため×
現在進行形に限らず、
when節のなかで進行形を使うのは正しくない
というのはありますね。
whenよりwhileの方が進行形と意味的にマッチします。
だからこの問題でも、
when.you comeかwhile you are comingにするのがいいですね。
ただし、whenのまとまりの中でも
【まさにその最中】ということを言いたいときは
進行形にします。
そんなに特殊な例じゃなくて割とよく使われると思います。
I'm happy when I take a bath.
I'm happy when I'm taking a bath.
I'm happy while I'm taking a bath.
Be careful when you cross the street.
Be careful when you are crossing the street.
Be careful while you are crossing the street.
日本語訳に表れないニュアンスも含めて
意味を比べてみてください。
イメージ的には、whenは漠然と時を表してて、whileは他とははっきり区別して 〜している間 って言っている感じがします。「お風呂に入ってる間は幸せだ(入ってないときはそうじゃない)」みたいな対比的なニュアンスも場合によっては持つかもしれないです。