There might be some reasons for the test loss being lower than the training loss.
E.g. if you regularize your model with Dropout this is a common observation.
Is this the case in your use case?
This code 241 should recreate approx. the same figure.