Why MLP only learns bias for unbalanced binary classification?
Though you know that dataset is naturally balanced but your model will still consider it as unbalanced dataset. If you take a example financial fraud detection, number of fraudulent transactions are always less than the ligit translations, to handle such such cases data scientists will have to balance the classes for better results.
You will have to balance your dataset to get the better results from model.