I'm currently reading through some elementary quantum computing materials (McMahon; Quantum Computing Explained) and have become confused over the action of an operator in outer-product form.
The Pauli Matrices are defined as: $$ \sigma_x^c= \begin{pmatrix} 0 & 1\\ 1 & 0\\ \end{pmatrix} $$ $$ \sigma_y^c = \begin{pmatrix} 0 & -i\\ i & 0\\ \end{pmatrix} $$ $$ \sigma_z^c= \begin{pmatrix} 1 & 0\\ 0 & -1\\ \end{pmatrix} $$
I take the above to be matrix representations with respect to the computational basis $|0\rangle=\bigl(\begin{smallmatrix} 1\\ 0\\ \end{smallmatrix}\bigr)$ and $|0\rangle=\bigl(\begin{smallmatrix} 0\\ 1\\ \end{smallmatrix}\bigr)$ . I know that an alternative basis for $\mathbb C^2$ is the Hadamard basis $|+\rangle= \frac{1}{\sqrt2} \bigl(\begin{smallmatrix} 1\\ 1\\ \end{smallmatrix}\bigr)$ and $|-\rangle= \frac{1}{\sqrt2} \bigl(\begin{smallmatrix} 1\\ -1\\ \end{smallmatrix}\bigr)$
From this I calculate the change of basis matrix from the computational basis to the Hadamard basis like so: $$ H= \begin{pmatrix} \langle + | 0 \rangle & \langle + | 1 \rangle\\ \langle - | 0 \rangle & \langle - | 1 \rangle\\ \end{pmatrix} = \frac{1}{\sqrt2} \begin{pmatrix} 1 & 1\\ 1 & -1\\ \end{pmatrix} $$
From now I will use $\sigma_x$ as my example. Using the change of basis matrix (Hadamard matrix) to transform $\sigma^c_x$ to its equivalent representation in the Hadamard basis I get: $$ \sigma^H_x= \frac{1}{\sqrt2} \begin{pmatrix} 1 & 1\\ 1 & -1\\ \end{pmatrix} \begin{pmatrix} 0 & 1\\ 1 & 0\\ \end{pmatrix} \frac{1}{\sqrt2} \begin{pmatrix} 1 & 1\\ 1 & -1\\ \end{pmatrix} = \begin{pmatrix} 1 & 0\\ 0 & -1\\ \end{pmatrix} $$
Noting that the relationship between an operator (basis independent) and its matrix representation (basis dependent) in the computational and Hadamard bases is like so: $$ \sigma_x^c= \begin{pmatrix} \langle 0 | \hat{\sigma_x} | 0 \rangle & \langle 0 | \hat{\sigma_x} | 1 \rangle\\ \langle 1 | \hat{\sigma_x} | 0 \rangle & \langle 1 | \hat{\sigma_x} | 1 \rangle\\ \end{pmatrix} $$ $$ \sigma_x^H = \begin{pmatrix} \langle + | \hat{\sigma_x} | + \rangle & \langle + | \hat{\sigma_x} | - \rangle\\ \langle - | \hat{\sigma_x} | + \rangle & \langle - | \hat{\sigma_x} | - \rangle\\ \end{pmatrix} $$
I now have two expressions each for $\sigma_x^c$ and $\sigma_x^H$ which I can compare and read off the operator form of the Pauli X-operator:
$$\hat{\sigma_x} = |0\rangle\langle 1|+|1\rangle\langle 0| = |+\rangle\langle +|-|-\rangle\langle -| $$
So now I can act the operators/matrices on Basis states as I choose; and as it is generally referred to as the NOT gate, I expect it to flip between basis states.
Working in the computational basis works as expected: $$\hat{\sigma_x}|0\rangle = \sigma_x^c \begin{pmatrix} 1\\ 0\\ \end{pmatrix} = \begin{pmatrix} 0 & 1\\ 1 & 0\\ \end{pmatrix} \begin{pmatrix} 1\\ 0\\ \end{pmatrix} = \begin{pmatrix} 0\\ 1\\ \end{pmatrix} = |1\rangle $$
$$\hat{\sigma_x}|1\rangle = \sigma_x^c \begin{pmatrix} 0\\ 1\\ \end{pmatrix} = \begin{pmatrix} 0 & 1\\ 1 & 0\\ \end{pmatrix} \begin{pmatrix} 0\\ 1\\ \end{pmatrix} = \begin{pmatrix} 1\\ 0\\ \end{pmatrix} = |0\rangle $$
And it is obvious that the outer-product form as defined above behaves in the same way - like a NOT gate, so all is as expected.
Looking at the Hadamard basis in matrix formalism gives: $$\hat{\sigma_x}|+\rangle = \sigma_x^H \frac{1}{\sqrt2} \begin{pmatrix} 1\\ 1\\ \end{pmatrix} = \begin{pmatrix} 1 & 0\\ 0 & -1\\ \end{pmatrix} \frac{1}{\sqrt2} \begin{pmatrix} 1\\ 1\\ \end{pmatrix} = \frac{1}{\sqrt2} \begin{pmatrix} 1\\ -1\\ \end{pmatrix} = |-\rangle $$
$$\hat{\sigma_x}|-\rangle = \sigma_x^H \frac{1}{\sqrt2} \begin{pmatrix} 1\\ -1\\ \end{pmatrix} = \begin{pmatrix} 1 & 0\\ 0 & -1\\ \end{pmatrix} \frac{1}{\sqrt2} \begin{pmatrix} 1\\ -1\\ \end{pmatrix} = \frac{1}{\sqrt2} \begin{pmatrix} 1\\ 1\\ \end{pmatrix} = |+\rangle $$
So again this acts as I would expect it to, it flips the basis states like a NOT operator. Apologies for the tedious detail that it took me to get to this point, but my question is this: Why then, when I act the operator form expressed using the Hadamard basis, do I get a different result from the matrix form:
$$\hat{\sigma_x}|+\rangle = (|+\rangle\langle +|-|-\rangle\langle -|)|+\rangle = |+\rangle$$
$$\hat{\sigma_x}|-\rangle = (|+\rangle\langle +|-|-\rangle\langle -|)|-\rangle = -|-\rangle$$
Again sorry for the essay, but as I'm sure this is a silly flaw in my logic I thought it best to map out all of my reasoning.
What am I doing wrong/not understanding?