Here is a topic where I believe I was pretty close to understanding what exactly happens but I still believe there is a bug here since there are some missing parts such as explanation of why “Deferred” prints have this order.
So I believe there is some bug with task.defer().
task.defer()