The output tensor of the nn.LSTM with batch_first=Trueis returned in the shape[batch_size, seq_len, features]`. Based on your description I guess you would like to use the activation of the last time step for the classification, so you might want to slice it via:
lstm_out, hidden = self.lstm(embeddings_out, hidden)
lstm_out = lstm_out[:, -1]

and process this tensor further.