Thanks for reaching out to Q&A.
For Azure functions running on consumption and elastic premium plan (serverless), the scale controller decides the scaling behavior. Drain mode comes into picture when the scale controller decides to scale down a worker (during less load). At this time, it sends a request to the Admin API to enter drain mode. Then all currently executing Functions on that instance receive a cancellation token which the customer can handle.
Then once all currently executing invocations have stopped then we will stop all of the listeners to ensure that the worker is shutting down doesn’t handle any new invocations. There’s no way to avoid the cancellation tokens.
However, timer triggers operate based on cron schedule and there is no scale controller involvement. The drain mode doesnt seem to have caused the functions to stop. I would suggest you to look into the Diagnose and solve problems blade and run the "Function app down or reporting errors" detector during the time the issue was seen. This detector will help you identify what caused the function host to go down.
I hope this helps! Feel free to reach out to me if you have any queries or concerns.
Please 'Accept as answer' and ‘Upvote’ if it helped so that it can help others in the community looking for help on similar topics.