The Arduino Ethernet shield regulates its own 3.3V from the 5V rail, so everything should work at 3.3V levels. The level shifter itself is also powered by the 3.3V rail so it should accept 0.7*3.3V.
Anyway, I still gave it a shot, with some strange results but no solution.
In this figure, line 1 is CLK, line 2 is MOSI before the level shifter, line 3 is MOSI after the level shifter, line 4 is the CS. I'm running your sketch here.
Both MOSI lines are at 3.3V, but no communication seems to happen.
This is the same sketch and probe configuration, but with the level shifter bridged (both MOSI lines connected).
This is again the same sketch and probe configuration, but now with line 3 connected to MISO.
There doesn't really seem to be going data from the SD card to the Teensy, and even when it does it's below 2V.
Again same sketch and config, but now with line 2 connected to MOSI before the level shifter and the level shifter unbridged again.
Same behavior of the MISO line as the previous test.
Same as previous figure, but now with line 2 connected to MOSI after the level shifter.
Same as previous figure, but now with line 2 connected to MISO and line 3 to MOSI before the level shifter.
There is some communication from the SD card to the Teensy here, but it's below 2V.
For comparison, the Ethernet sketch with the same probe config as previous figure.
Both MISO and MOSI lines are at 3.3V.
I've tried with different shields and SD cards, but no effect. Only thing I haven't tried is a different Teensy, but it would strike me as odd if the problem were the Teensy hardware, because it runs the Ethernet sketch just fine.