|There are three instances where tasks due some time in the future suddenly show up under the Today focus list, which should in theory only show tasks due Today.
You have Durations assigned to these tasks
When you assign a duration to a task which also has a due date, 2Do interprets this as "I have a task that I must complete tomorrow, however it'll take me 2 hours to do it so start reminding be 2 hours in advance". Technically speaking, since Tomorrow starts one second past 00:00 tonight, a task with duration a of 2 hours would begin to appear in your Today for 22:00.
Although this may not make much sense for smaller durations, if you instead assign a duration of 1 day and mark it to be due tomorrow, it will begin showing up in Today a day earlier - which is what you'd expect.
The way to solve this is to either assign a due time to these tasks, such as 9:00am OR remove the due dates on them and keep the durations the way they are.
You have Start dates assigned to these tasks
Start dates mark a begining date for the tasks in question. Say, for example a school project is due next week, but you need to start working on it tomorrow. 2Do will begin listing the task in Today starting tomorrow. So that you don't lose track of your tasks, 2Do will then continue to show this task till the due date arrives, after which it will be marked as Overdue (still shown in Today).
This may or may not be how you like to manage your Today list. To turn off this behavior, tap on Settings > Appearance and then toggle off the 'Always show Still working on' option.
Now, although the task will show in Today for the whole day tomorrow (since that's when it started), it will disappear only to reappear a week from now when it's finally due.
You have included Starred tasks to show in Today
You can turn this behavior off from under Settings > Appearance > 'Include Starred Tasks'.