What causes this type of distortion in a constellation I/Q plot?
I don’t think this is necessarily additionally introduced ISI (beyond the ISI of the pulse shaping filter itself, which is zero when there is no timing offset), but may be the result of timing offset error. All the points within a small offset from the ideal sampling location appear to be selected, and the overall pattern of the full constellation showing all samples does not appear to show any distortion.
My theory is we are seeing the results of the overshoot and undershoot you would see in proximity to the ideal sampling location due to the expected response of the pulse shaping filter. What I am describing is better explained with reference to the eye diagrams on the I and Q channel, in particular the case I give below with the higher alpha value where it is quite clear how 4 clusters could result with a small time offset. Notice if the sample is selected at Time = 0 that all the samples will be at the same four I, Q locations, but if we shift the sample time slightly higher there will be 16 possible I Q sample combinations (4 on I and 4 on Q):

Here is the same thing with alpha = 0.25 and the clusters would migrate to a larger cloud:

The OP's case is using alpha =  0.35, so jury is out if this is indeed due to timing offset alone. I recommend reviewing the data with eye diagrams as I have done here to further confirm root cause between residual ISI at the correct sampling location, or timing offset error, or both.