@beaupreda,
Big thanks for commenting on my thread, your reply solved my problem!
I forgot that nn.CrossEntropyLoss already performs both nn.LogSoftmax and nn.NLLLoss, so I was adding an extra logit transformation to the output layer. Plus the snippet your provided to transform one-hot labels into scalars for the Loss function was key for me.
@edit: Added more details to reply.