My answer to a question from 2016, https://math.stackexchange.com/questions/1792625/is-the-sine-of-a-transcendental-angle-transcendental-or-algebraic was downvoted a couple of hours ago, and then a minute later the question was deleted by the Community user. I assume the downvote was cast in order to pave the way for the deletion, but how did the downvoter know that the Roomba was making its rounds and would be there in a minute?
I think that it is relatively safe to assume that the tasks which run daily are scheduled on the same time. (Similarly, scripts which run once a week/once a month are most likely scheduled on the same day of the week/month and on the same time or at least near the same time.)1
So if somebody noticed on a few occasions that roomba deleted questions around 03:00 AM, it is natural to expect the same time on other days.
You can have a look at a graph showing distribution of deletion time of questions to see that the biggest peek is around this time. (I have purposely looked only at deletions of questions - not at all posts - since we're talking about roomba.)
Similarly, you can see clusters of deleted questions around this time if you look at time of deletions of questions - to do this, you can use some of the queries mentioned in this answer.
It is difficult to say whether or not some users actually prefer to downvote shortly before the scheduled task - since we do not have data on times of downvotes2 and the Votes table does not contain data for deleted posts.
1To be more precise, the weekly roomba task actually runs 7 days since the last run, according to this answer: What is the cause of this sudden drop in CV queue size? The same answer confirms 3 AM as the scheduled time for the daily roomba task. (This answer was also quoted here: Why does the Unanswered Question count drop on Saturdays?)
2 Votes table and timeline only show date for votes. See: Why is vote time missing in the SE data dump and SEDE?