This makes a lot of sense. If a task has a due date it needs to be performed no later than on that day. This means that after "today" it will no longer be actionable. Consequently, it no longer belongs in Next. It should be moved to Today because it by definition it has to be done today (or be deleted, or be edited with a new due date).
Schedule means that an action is not actionable until the scheduled date, which is something else entirely. A task should in principle go to Next on its scheduled date because this is when it becomes actionable. However, it makes good sense to move it to Today so it can be started or manually moved to Next.
But you don't Schedule because you want something to show up in Today. You Schedule because you want to get it out of the way until it is actionable.
This makes a lot of sense. If a task has a due date it needs to be performed no later than on that day. This means that after "today" it will no longer be actionable. Consequently, it no longer belongs in Next. It should be moved to Today because it by definition it has to be done today (or be deleted, or be edited with a new due date).
Schedule means that an action is not actionable until the scheduled date, which is something else entirely. A task should in principle go to Next on its scheduled date because this is when it becomes actionable. However, it makes good sense to move it to Today so it can be started or manually moved to Next.
But you don't Schedule because you want something to show up in Today. You Schedule because you want to get it out of the way until it is actionable.