There is a bit of a difference between how work tables are handled (spills from proc cache) and #temp table reads. Remember, for example, that a #temp table can leverage cached data quite effectively and for physical reads, it can use a configured large IO pool.
I think that some types of work tables (e.g. those used by sorts) that spill to disk only do physical reads.....I may be wrong on that - but I have seen some anecdotal evidence with create index that suggests this is the case.....