Demodulating an oversampled OFDM signal
The result of your plot is what you would see when you have timing offset error but no frequency error. Given that it is over-sampled you can confirm this by manually adjusting your decision point a few samples either way. Even better plot out an eye diagram such as what I show below with all your samples for 16 QAM and it should be clear from that if this is indeed the issue.

(With as little as 2 samples per symbol you can completely replicate the eye diagram as in the plots below using the MATLAB "resample" command).

Consider the eye diagram on the right showing the real and imaginary components on the upper and lower graph, and if we sample at time T=0, we should see tiny dots at all the expected locations for 16QAM on an IQ constellation such as the one you show. If we shifted the sampling decision points to the right or left (timing offset), I believe the IQ constellation would look similar to what you show.