Did you check the confusion matrix for the original loss function and the one using pos_weight and did something change?
I would recommend to use unreasonably large or small values for the weighting and make sure that your training achieves the desired effect. You could also try to use WeightedRandomSampler for over-/undersampling.