自動エスケープ
いま気づいたのですが、「<」と「>」は通常の位置(pタグ内)でもエスケープされています。でも、「<pre>」のように実際に存在するhtmlのタグはエスケープされません。ですから、「<pre>」と表記する場合はソースの段階で自分でエスケープしなければなりません。この違いは何なのでしょうか。
実験してみましょう。漢字でタグを書きます<pre>うそのpreノード</pre>
どうですか。エスケープされています。では、htmlに無いタグを英数字で表記してみます。
どうですか。エスケープされています。
つまり、「はてなコンパイラ」はあらかじめ登録された特定のタグだけを維持し、他はエスケープするというルールを持っているようです。
なかなか「はてな」はやります。