The shape of hidden_state with [num_layers*num_directions=4, batch_size=128, hidden_size=256] (and output), seems to be already wrong, as the batch size changed to 128 from 50.
Note that in the default setup the input to nn.LSTM is expected to have the shape [seq_len, batch_size, features], so you should either permute embeddings or use batch_first=True.