Additional SQL Server features and topics not covered by specific categories
SQL Server always reads from cache during query processing, never directly from disk. Data not already in memory when needed by a query are read from storage as needed.
It is likely temp table data will remain in memory when read again, avoiding IO. Keep in mind temp tables are typically short lived and buffer cache entries are reused based on a least recently used (oldest) algorithm so actively used data will remain in cache. However, if the system is very busy and/or has little memory, the temp table buffer cache entries may have been reused and require IO for the temp table data.