Last-modified header

With the Send Last-Modified Header set to Yes in the HTTP Header Settings in System Configuration, does the timestamp indicate when the asset was last modified in Matrix, or the time the cache for that asset was last refreshed?

It is a calculation based on the Cache entries for all the assets used to print the page (ie. it includes potential nested assets). It is not the last modified time of the asset in Matrix, but (as you guessed), the most recent cache updated time.