The emulated EEPROM uses a portion of the flash memory chip to store its data. You can find the
W25Q64JV-DTR Datasheet on the
Teensy 4.1 page tech info section. For the raw speed specs comparable to those raw SD specs, turn to pages 89-90.
Those SD specs say "SPI, SDIO", but they can't possibly be true for SPI. In SPI mode the maximum clock speed is 25 MHz. I believe in recent software we're using a default of 16 MHz for better compatibility with "long" breadboard wires and lower quality 3rd party adaptor boards, though the SPI clock can be set differently using a special SdFat begin function. Even at 25 MHz, the best case scenario without any overhead would be only 3.125 MB/s, since SPI uses 1 wire for data.
In SDIO (4 bit) mode, we use either 25 or 50 MHz clock depending on what the card says it supports. We don't support any higher clock speeds, because run the card at 3.3V and higher SD speeds require lower voltage. So on Teensy 4.1 with SDIO, the best case scenario would be 25 MB/s speed. You simply can't get 30 or 80 MB/s with a SD card powered by fixed 3.3V.
However, none of these specs paint a clear picture of the actual performance you can expect in practice. Especially with SD cards, the controller inside the card can have quite high latency for reads or writes, though it is usually pretty quick. The performance also varies massively depending on the transfer size (because of the internal controller's command latency), and if you're using it for a small data set you would presumbly not be using large transfers! Some time ago Bill (author of SdFat) posted the results of a lot of performance tests with actual cards and many transfer sizes. Maybe you can find that messabe by search?
The emulated EEPROM speed can also vary quite a lot, depending on prior written data. For reading, it does a simple linear search through as much as a 4K sector to ignore prior writes and find the latest written data. For writing, normally you will observe a fraction of the Page Program Time documented on page 90. But once the 4K page is filled, it will read all the prior values into RAM (which is relatively quick) and then perform the slow Sector Erase Time (4KB), and after it will do more Page Program Time writes to put the latest data back onto the start of that 4K page.