I've found multiple depictions of how an LSTM cell operates. See 2 below:
and
Each of these images suggest the hidden state is utilised differently. On the top diagram, it is shown that the hidden state is added along with the previous output and current input to both the forget gate and the input gate. The bottom image suggests the input and forget gates are calculated only using the previous output and current input. Which is it?
Also, when the previous output is fed in for the current layer, is this before or after it has been reshaped to the final output size and been put through a softmax?