I think I’ve nailed down the problem.
Early this morning I got up and went to feel the supply pipes to our master bathroom shower faucet. Both sides were warm. Neither of us had been using any water anywhere in the house for several hours prior, so it appears that hot water is indeed leaking through this particular faucet. The cold-water pipe was warm all the way from the faucet (several feet up the wall, nowhere near an HVAC duct) to halfway across the basement ceiling, again with most of that piping nowhere near an HVAC duct. I had thought leakage could only happen when pressure on the cold side dropped due to cold-water usage elsewhere in the house, but it appears that the leakage is so severe that the differing densities of hot and cold water is enough to drive a circulation loop all by itself: hot water travels up from the heater in the basement, through insulated hot-water pipes to the shower faucet, through the faucet to the cold side, and then cools off in the uninsulated cold water pipes on its way back down to the bottom of the water heater through the cold-water supply piping.
The only pipes that were warm were the ones on the path between the master bath shower faucet and the water heater; none of the other pipes elsewhere in the house (for cold or hot water) were warm at that time.
I’ve downloaded a couple of documents from Kohler’s website to help me sort out what replacement parts I need to buy; from their diagrams/descriptions I’m 90% sure what I need to get, but I’ll need to take another look when I get home tonight. It looks like I can just replace the pressure-balancing mechanism, which will save me from having to buy/install the entire valve assembly.