But is it really
behind the background?
Every sprite has a bit you can set that essentially draws them with the background color that appears below them. The caveat(and also the strength) is that they'll only appear "behind" pixels that aren't the universal background color. (The one shared color between all four background palettes.)
The last rule makes it somewhere difficult to use effectively. For example in Crystalis:
The grass has to be a solid color. If it were textured like the area the arrow points too, the texture would appear "above" the sprite as well.
Solstice does something way harder to get its sprites behind the background. It edits the sprite tiles themselves at runtime so that any pixel of the character that is meant to be behind the background is made a transparent pixel. (It has to put back the opaque pixels when the sprite comes out from under the background.)
So in Solstice the solid color rule does not apply. (But you should absolutely not expect this behavior to be done for you in a generic way, it is very hard for many reasons.)
Anyway, it's not very hard to set the bit for the first method, but what might be hard in a NES Maker context is allowing the user to define the areas where one wants this happen. (It's extra data to store in the level format/extra UI at the very least.)