The vocab is confusing.
The LSTM’s “cell state” c is a value that the LSTM keeps from one timestep to the next.
The LSTM’s “hidden state” h is the output from the previous timestep that the LSTM re-uses to calculate the current timestep.
So basically, the “cell state” is hidden but the “hidden state” isn’t.
In the equations h is the previous output. h′ is the current output. At the next timestep h′ becomes h and we calculate a new value.
One potentially confusing detail is the use of the letter o in one of the equations. o is the output gate, not the output value.