Awesome game! Is every play winable if you do things right?
"if you do things right" + "with some knowledge about the game mechanics and patterns", then yes, every play is at least winnable (dragon kill).
But I would even dare to say, that with "complete knowledge of all game mechanics and patterns" + "doing things right", then it is also always possible to clear the whole board, which gives you max score and the Clear Board stamp/achievement.
How? I've been unable to complete the board despite playing seemingly perfectly (ie not wasting any hearts by leveling up or using a scroll without using them all up first) but always run out of hearts shortly after killing the dragon.
Is there some mechanic I'm missing? Does using heart scrolls somehow affect how many hearts you end up with?
Pretty baffled as to what I'm doing wrong
You got that one right! Holding off using heart scrolls as much as possible gives you extra hearts (health) to work with. If you are going for a board clear (highest score), this insight is key.
It also helps a lot knowing as many mob patterns/mechanics. Only P2 and P3 mobs do not have a specific pattern to them, even P1 and P5, while not really having a pattern, are part of a "mob mechanic" - carefully observing the "death screen" reveals most of these patterns (some "activated" mob mechanics, need to be found out by actually using them, but most are easy to grasp when used a few times).