The reason is that when the job is scheduled the XWiki Context is saved and then when the job is triggered, it's the current user in that context that is used. We have 2 options:
- When a job is scheduled, set the current user to be the context user (my preference since it solves all other user issues)
- Specifically when a Watchlist job is triggered, clone and modify the XWiki Context to set the context user and then discard the clone (or set the context user and then put back the previous one).
Since I can't think of any use case that would need to know the user who scheduled the job, I'm going to go with the first solution. If we need it in the future, we could always save it under a different key in the XWiki Context.