Most of the time we do not first finetune the MLM and then finetune further for classification. We usually only finetune on the classification directly. Results should not vary significantly depending on how different your datasets is from general domain. You can also incrementally unfreeze the LM during the classification task. First finetuning MLM does not seem worth it to me, but if your experiments show that for your dataset/task it does provide better performance, then that is fine.