There could be a problem with express-async-handler. In case of exception in calling the protect function, it will move to the execution of next function (middleware or actual route function).
So, I would suggest to once try it without the library and see if your code starts working.
COde for library is at the page -->https://github.com/Abazhenov/express-async-handler/blob/master/index.js