TaskScheduler.Default will always be the same ThreadPoolTaskScheduler regardless of framework or which thread you are.
Where your task will be executed is first decided whether you have a SyncronizationContext or not, and this is what changes from case to case.
The line from the table does not do a good job at explaining this. What I meant to say there is “How is my task scheduled?” instead of “What’s my default TaskScheduler” and there should be “TaskScheduler.Default” instead of default and “SynchronizationContext.Current.Post” instead of “from current synchronization context”.
I’ve updated the table in the article, this should make it more clear.

