It's easy to find the mistake if you realize that an operator is a function in Hilberton a vector space with argument the function on its right. For example, $\hat{p} e^{ipx} = p e^{ipx}$ is (apparently confusing) notation for $\hat{p}(e^{ipx}) = pe^{ipx}$, therefore $\hat{p}^*(e^{ipx}) = p e^{-ipx}$. See also George G's answer in Dirac notation.