Not quite sure all the steps I took, but I removed the sigmoid function and replaced the loss calculation:
loss = loss_fct(logits.view(-1, self.num_labels), labels.view(-1))

With this:
loss_fct = CrossEntropyLoss()
loss = loss_fct(logits, labels.view(-1))

Now it has overfitted extremely well and all the metrics it has outputted are making sense and I get the output below:
{'train': {'loss': 0.04647320210933685, 'accuracy': 0.7676767676767676, 'roc': 1.0}, 'test': {'loss': 0.7614774504303932, 'accuracy': 0.5555555555555556, 'roc': 0.6168539325842697}}

So thank you very much for your advice!