The heart and bubble textures look kind of distorted.
Probably that's because 12脳12 is expected, but 16脳16 is the actual texture size.
2 possible solutions:
I prefer solution A.
Perhaps the engine should just fix its texture scaling.
I prefer an engine change; but a 12x12 heart icon could probably work:

Top: 16x16
Bottom: 12x12

Note that the default size of these icons isn't 12x12 but 24x24, so they shouldn't be scaled down to 12x12:
https://github.com/minetest/minetest/blob/master/builtin/game/statbars.lua#L12
Applying the engine's gui scaling filter (scales to 24x24) to the images would look like this (old | new):


Looks much less pixel art-y so maybe not desirable to use these.
Ok, 24x24 then.
I prefer crisp pixel art to what that scaling filter does.
Is there any way to disable the scaling filter for the statbar icons?
The scaling filter is not enabled by default, but if someone chooses to enable it you cannot avoid it.
I prefer crisp pixel art too.
So this issue can't be fixed at all? No matter what we do, we always might end up with blurry textures if a user decides to use weird settings?
Is there really no way to force pixel art in the statbars?
we always might end up with blurry textures if a user decides to use weird settings?
Yes? The user gets what he chooses.
When the size on screen is not evenly divisible by the texture size you can have either distorted scaling or smoother scaling (at the expensive of some blurriness).
So how should this issue be fixed in your opinion?
Change the textures to be either 12x12 or 24x24 so they don't look distorted with default settings on the default DPI.
Long term the "gui scaling filter" (yes it's called that) in the engine should probably be improved if necessary and enabled by default so that textures do not look distorted if the user is on an "odd" DPI.
Most helpful comment
Perhaps the engine should just fix its texture scaling.