The way Kindlegen works is that it creates two different versions of your content, crammed together into a single file:
- A KF8 slice that contains CSS and stuff for newer readers
- A MOBI7 slice that contains nothing but HTML. The HTML contains additional attributes and tags to try to approximate whatever your CSS contains, to the extent that it can be represented with pure HTML.
The basic Kindle devices use the MOBI7 slice. For them, the line height you specify is irrelevant because there's no HTML equivalent. That detail gets thrown away entirely during the translation to MOBI7.
Edit: Deleted much of my post after I realized that half of what I posted was confusing this thread for another one.
Whatever is causing the line height change, I don't think it can possibly have anything to do with the line height in the CSS, because AFAIK there's no support for line height on these devices. Therefore, when you eliminate the impossible... it must be something else more subtle.