I understand HomeKit sensor devices are supposed to store several days of worth of sensor readings while the owners iOS device is not in ble range (and Apple TV not available). Where in the HomeKit sdk do I go to retrieve that buffered data from the HomeKit device?
That's not quite how it works. If you're refering to the Eve Door/Window Sensor that's a custom feature they have implemented at a device level. There is a custom characteristic that is used to store the information. I'm not sure exactly how, but their own app is able to look at that custom characteristic and interpret the long string of stored data, parsing it out into historical events.
For 'standard' devices, we as developers don't get access to historical device state data. I'm sure HomeKit does store it underneath, but we don't get access to it. If your app is running in the foreground you'll get a callback as an event gets seen, but the second it goes into the background those updates stop coming. My guess is that this is by design - otherwise app devs could use their apps to collect (and by extension) store user's HomeKit data. Given how much Apple promote the privacy features of this framework I see why that isn't allowed!