My mistake — blend mode is how the sprite is composited with the background; what we need to change is scale mode. And also the scale quality hint, as you surmised. But I think the key is to add this line:
SDL_SetTextureScaleMode(storage->texture, SDL_ScaleModeNearest);
...right next to where we set the blend mode.
I've just pushed this fix to GitHub, so you can grab it there (along with other updates, such as a partially functional PixelDisplay accessible as gfx
!).