Generally in an encoder-decoder setting the decoder is initialised using the final hidden state of the encoder. As you say, the idea is that the hidden state should represent the whole sentence.
In a labelling setting the output is generally used. For instance, when labelling parts of speech, for each word input, a part of speech is output. That said, when you are classifying the entire sequence, you don’t want a label for each step of input, you only want a single label at the end, so it seems logical to take the last output.
You could use the last hidden state to produce the label, and it might work marvellously, but then again, if the model uses the hidden state to store its intermediate representations of the sentence, then forcing the last hidden state to correspond to the label might interfere with the use of the hidden state for the intermediate representations.
An interesting experiment would be to take the hidden state and feed it into a linear layer or two in order to predict the sentence label.