undergo が受動態にできない理由は「受ける」という意味にあるというよりも、別のところにあるような気がします。
受動態の主語は、影響を受けて変化するものでなければならないのです。
たとえば、
A lot of people love Tokyo.
を受動態にして
Tokyo is loved by a lot of people.
にするのは可能です。
しかし、
I love Tokyo.
を受動態にして
× Tokyo is loved by me.
にすることはできません。この受動態は成立しないのです。
なぜか?
それは東京がたくさんの人に愛されれば、人口も増え、お店も増え、東京が変化します。しかし、東京は私に愛されても何も変わりません。だから、下の文の受動態は不可なのです。
undergo の場合も同じだと思います。
I underwent surgery.
は言えても、Surgery was undergone by me. にはできません。それは、「手術」は私が受けても「手術」自体は何も変わらないからです。