If you load a single sample in your Dataset's __getitem__ method in the shape [seq_len, features], your DataLoader should return [batch_size, seq_len, features] using the default collate_fn.
In the training loop you could permute the dimensions to match [seq_len, batch_size, features] or just use batch_size=First in your LSTM.