When did ML gain its module feature (which does enable the equivalent to data abstraction)? From a very casual search, the earliest references I can find to it are from the early 1980s, so well after CLU - but the very first versions of ML itself were being worked on around the same time.
That’s a good question, I don’t know the history well enough to comment on that.
Much more important than CLU itself — groundbreaking as it was — was Liskov’s formalization of substitutability as a rigorous principle one can use to reason about the quality or correctness of an arbitrary abstraction (or model thereof).
I'm pretty sure this was around 1983/1984 See the papers
"Modules for standard ML" 84, by Dave Macqueen,
MacQueen had previously written a paper Modules for Hope (81) which likely influenced it.
Unfortunately the SML-Family doesn't have links to these in it's history section afaict. But ML languages didn't get modules until the standardization effort that produced standard ML.