So its a bit messy, but I just tried this and its pretty much instant regardless of size using low level H5 libraries. Hope it works for you. I've tried on windows 2017b, havent tried in linux or other releases.
Note: This solution uses low level HDF5 libraries that are already built into matlab, so this method assumes your mat file is HDF5 (-v7.3). Otherwise it will not work.
I've tried checking 15 variables in a 3Gb file, worked basically instantly (didnt time it, fast enough for my needs).
You can be sure is a valid hdf5 file by doing this:
isValidHDF = H5F.is_hdf5('my_file.mat');
Then, if ValidHDF is true, check the variable is in the file by:
isThere = false;
fid = H5F.open('myfile.mat')
gid = H5G.open(fid,'/data_info');
hInfo = H5G.get_info(gid);
isThere = hInfo.nlinks > 0;