はやてさんがおっしゃっているとおりですね。
これはpTeXだけのことでないですね。
latex3/latex2e: Case conversions (\uppercase etc) are completely broken in UTF-8 #103
https://github.com/latex3/latex2e/issues/103
一般に、LaTeXではTeX primitiveの\uppercaseでなく、\MakeUppercaseを使いますね。
----------<8----------<8----------
%#!ptex2pdf -l d3972
\documentclass{jarticle}
\makeatletter
\def\mydraft{}
\def\ps@mypages{%
\let\ps@jpl@in\ps@mypages
\let\@mkboth=\@gobbletwo
\def\@oddhead{\underline{\hbox to \textwidth{\rightmark \hfil\thepage}}}%
\def\sectionmark##1{\markright{%
\ifnum\c@secnumdepth>\z@
\thesection.\space
\fi
\MakeUppercase{##1}%\uppercase{##1}%
}}%
\def\@evenhead{}%
\def\@oddfoot{\mydraft\hfil}%
\def\@evenfoot{}%
}
\makeatother
\begin{document}
\pagestyle{mypages}\setcounter{page}{2}
\section{漢字}
\section{abcdefg}
\end{document}
----------<8----------<8----------