Why OLS perform better than LASSO? I am comparing OLS and LASSO regression for survey data. I have n>p, but I think my data is high-dimensional data as the p is 3000 and n is 48000. I am using k cross-validation. The results are quite surprising as from R-squared and MSE, the OLS performs much better than LASSO. I have read several discussions and papers previously, but still, I can't figure out why...

This is one example of a "curse of dimensionality" described for LASSO in An Introduction to Statistical Learning, second edition, at the end of Chapter 6.
With a large number of potential predictors and LASSO forced to choose a comparatively small number among them, there's an increasing risk as p increases that some truly insignificant predictors might by chance have an association with outcome in a particular data sample and be included erroneously. That might also lead to omission of truly significant predictors and poor generalizability.
With OLS in this scenario, all of your potentially important predictors are available to the final model. With a 16:1 n:p ratio, that probably isn't at much risk of overfitting. For prediction, throwing away predictors (even "insignificant" ones) doesn't typically do much good unless you are overfitting. So OLS wins here.
