The thing with that code that leaps out:
jpeg
Covers in the Calibre Library bear name (cover.
jpg), and are embedded that way if you have calibre add/update the jacket.
IF you block that action, you probably broke the link
I prefer a maintained aspect (preserveAspectRatio="xMidYMid meet"), but the
width="100%" height="100%" part makes it scale to the screen
(the default Calibre jacket, 'just works'. If it does't, then something is wrong 1)your manual code has errors. 2) The device folk 'know better'

and override the code.)