In general, I think a death system like the one you have is a good way to increase tension and keep the player from growing lax and disinterested. Really, my biggest word of advice has to do with puzzles. Puzzles, generally speaking, aren't super fun to do multiple times. If it's a puzzle that takes only a few seconds once you know the solution then sure, that's fine. But large, elaborate puzzles, such as the block pushing puzzles of yesteryear, especially when combined with room hazards, grow very obnoxious to redo constantly.
Another element to consider is how much the player is expected to redo and each time and the availability of save points prior to particular challenging events. As an example of how this could go poorly, let's say you have a long stretch of a dungeon. The majority of this is rather simple, made a tiny puzzle here, a kill all enemies there, but it's not particular challenging. At the end, you have a very rough gauntlet. The player is likely to die in this gauntlet a lot. This then requires them to trek back through the easier but time consuming section repeatedly. This will only serve to make them frustrated with the game design and increase the likelihood of them putting the game down.
Of course, that's not to say this approach can never be employed. Kirby games, actually, have this down to an art. Most modern Kirby titles feature a True Arena mode, where you fight several challenging bosses back to back with only limited healing. At the end of the gauntlet, there's a new boss the player has never seen before. The new boss fights are usually not that hard (as an example, here is the surprise final phase from Robobot), but they present a unique challenge in that you're having to learn all the boss's patterns on the fly, with limited health, and the threat of losing 30+ minutes of hard work if you die. I think this design trick is very effective, but it's also very easy to mess up. The difficulty tuning has to be perfect so that the challenge at the end is difficulty enough that your adrenaline is pumping and heart is racing, but not so difficulty that the player had to fight through the gauntlet 10-20 times before they can be reasonable expected to win.
This ended up more of a long and rambling post than I intended, but I think the basic takeaways are these: Save points need to be spaced far enough apart to feel meaningful, but not so far that the player loses interest at the thought of redoing large segments of the game. The player shouldn't be forced to redo mindless, tedious segments. In general, save points should be provided before exceptionally challenging content (such as bosses), though exceptions can be made very carefully if part of the challenge is figuring out a battle on the fly, knowing the consequences for losing.