Why are results of cross-validation before splitting is different from results after splitting?
Without having more information my hypothesis the complexity of your model.
I think you might have a model so complex that it needs a &quot;large&quot; amount of data for having a good performance (First scenario with cross validation on full data)
Then when you split your data in train - test set and repeat the cross validation the amount of data is reduced naturally so it is causing that your model do not have enough samples to generalize.
That might be confirmed via a learning curve:


If the training and cross-validation scores converge together as more data is added (shown in the left figure), then the model will probably not benefit from more data. If the training score is much greater than the validation score then the model probably requires more training examples in order to generalize more effectively.