In general I would consider 'class' a superset of 'data type' and only include the core Matlab clases a list of data types, so the integer types (uint8, int16, etc), the floats (single and double), the texts (char and string), and the containers (cell and struct).
Classes can be internal classes (built in to the core Matlab or a toolbox), or classes you create with a classdef m-file.
But I'm not aware of any official distinction between the two.