Have you played around with some hyperparameters, e.g. have you tried to increase the learning rate, as the gradients should be larger using the 'sum' reduction:
# mean
torch.manual_seed(2809)
model = models.resnet18()
target = torch.randint(0, 2, (1, 1000)).float()
criterion = nn.BCEWithLogitsLoss(reduction='mean')
output = model(torch.randn(1, 3, 224, 224))
loss = criterion(output, target)
loss.backward()
print(model.conv1.weight.grad.sum())
> tensor(-0.1137)

# sum
torch.manual_seed(2809)
model = models.resnet18()
target = torch.randint(0, 2, (1, 1000)).float()
criterion = nn.BCEWithLogitsLoss(reduction='sum')
output = model(torch.randn(1, 3, 224, 224))
loss = criterion(output, target)
loss.backward()
print(model.conv1.weight.grad.sum())
> tensor(-113.7127)