A tab is not four spaces. It moves the “cursor” past the next tab stop (every fourth column). You need to read and understand the section on tabs.
But really quick:
The first tab on each line moves the "cursor" to col 4, meaning there are
only 3 virtual spaces between the > and the content. Because the block
quote will consume one space (the optional padding), it really means
there are only 2 spaces prefixing the content, 2 short of the 4 you need
for a code block. Add 1 then 2 spaces after the tab to confirm this.
|
| This second tab pushes to col 8, so 3 spaces after #
| |
V V
> # Foo
> bar
> baz