That was the answer, thank you so much! I ended up following the advice from this discussion 6.
The final code is now:
class RNN(nn.Module):
    def __init__(self, emb_dim, hidden_size, num_layers, num_classes):
        super(RNN, self).__init__()
        self.hidden_size = hidden_size
        self.num_layers = num_layers
        self.embedding = nn.Embedding(len(TEXT.vocab), emb_dim)        
        self.lstm = nn.LSTM(emb_dim, hidden_size, num_layers)
        self.fc = nn.Linear(hidden_size, num_classes)

    def forward(self, text):
        embeds = self.embedding(text)
        lstm_output, (last_hidden_state, last_cell_state) = self.lstm(embeds)
        linear_input = last_hidden_state[-1]
        out = self.fc(linear_input)
        
        return out