"A task is processed as a Complete Task assignment in the standard Complete Task flow (Data-AdHocTask.WorkTask). The More Tasks Split-For-Each shape iterates across the Tasks page until all tasks on the grid are completed."
It looks that the More Tasks Split-For-Each is never reached as all the tasks are created with ShapeType = "Flowaction".
The actual flow that iterates across .Tasks is AdHocProcess called from pyCreateAdHocTasks post activity of pyCreateAdHocTasks flow action
You are correct in your observation. The CompleteTask assignment is used in the WorkTask flow in order to complete the Task. The AdHocProcess flow you mentioned above iterates over the .Tasks pages until all processes are completed (calling the WorkTask Flow each time). This correction has been forwarded to the course development team and should be repaired shortly.