So, I think I figured it out, or at least I'm getting very close. But it's bizarre, and I'm hoping someone can help me make sense of it.
Basically, here are the steps for interpeting PlayHistory.dat's timestamp values:
Read the 4 byte value as an Integer¹
Multiply it by 3.75
Add it to...