Hi
Thanks for providing your code (and to Calibre of course). I was able to produce quite a nice PDF with it (though it adds a useless "false" cover).
I am used to produce
9cm×12cm PDF for my Kindle Paperwhite 3 with Prince. The only drawback I can find with your solution would be to read the PDF using the so-so Kindle PDF viewer.
Koreader muPDF viewer, provided with Koreader provides a much better reader experience, but requires a jailbroken device. Nothing is perfect.
Also, as
shown here, postprocessing the output with cpdf could reduce the size of the output file. I got 1.6MB with one instead of 2.5MB. Usually, the expected difference in size is about 10 to 20%. The other factor which could explain this size difference could be the size of the embedded font files but I am unable to prove it.