Neither "clear all" or "clear mex" is unloading MEX DLLs. I can verify this by attaching to Matlab in the Visual C++ debugger and looking for DLL "unloading/loading" happening.
This has been asked before, with the following "answer" https://www.mathworks.com/matlabcentral/answers/100577-why-am-i-unable-to-delete-mex-functions-from-memory-using-the-clear-mex-command
It is unclear in this answer what is mean by memory leaks preventing MEX unloading? A MEX function , might have ,for example, have static C++ objects that allocate memory. That will only be de-allocated when the DLL is unloaded.
I remember in a previous version of Matlab , "clear MEX" would force all MEX DLL's to be unloaded.