A level 20 HTM ID is absolutely minuscule compared to a calibrated exposure (IIRC it has less than one millionth of the area), so it’s not surprising that the HTM level 20 ID of a few random sources don’t match the level 20 HTM ID of any exposure center (which is what you get from Science_Ccd_Exposure.htmId20). In fact, I wouldn’t be shocked if the exposure centers didn’t have any level 20 ids in common with the deep sources.
Anyway, if you really want to go from DeepSource to Science_Ccd_Exposure without going through DeepForcedSource.scienceCcdExposureId, i.e. using the position of the DeepSource, then the current way to do that with MySQL is documented under the “Regions-containing-point queries” section of the sciSQL docs at
http://lsst-web.ncsa.illinois.edu/schema/sciSQL_0.3/#s2.