Consider also that in this case the perception argument still holds. The gameplay experience in the context you are descrbing relies on the player believing that they could lose, and that therefore the act of winning is a noteworthy accomplishment. This is true whether the player is correct or not. If the computer creates a situation where the player can not lose but the player perceives a threat of losing, the player will still feel the same sense of accomplishment.
This isn't a trivial distinction either. Game designers can, and often do, explicitly attempt to psychologically project the sense of impending failure to a higher degree than is quantitatively true, because the psychology of risk is more important in a game to the reality of risk. Consider the health bar. The health bar gives a visual cue to how close to death the player is. But does it? The health bar is usually linear. If you get hit 8 times and you see 25% left, you perceive that you're about two hits from dying. The last 25% of the health bar will only protect you as much as the first 25%. But that's not always true. In the case where you are an SR scrapper with the passive powers, your damage resistances goes up as health goes down. That last 25% actually takes a significant amount more damage to remove than the first 25%. Visually you only have 25% health left, but in combat terms you are actually somewhat farther away from death than that would imply. That means the SR scaling passive resistances actually play a numbers game in which you will feel more risk than you are currently actually facing (at least to a first-order approximation: I understand of course the situation is more complex than that for a number of reasons).
The first paragraph is one reason I often feel many newer games leave me feeling without any accomplishment, as I felt completely "safe" and not in danger. One reason I sometimes up the difficulty of a game, or even mod it to enhance the difficulty in a meaningful way, is to give myself a sense of being able to lose. I want to have to save before engaging those raiders in fallout 4, or sometimes thugs in deus ex for example. I don't mind if I die so much as I want to know that I could have been killed a few times trying to take a part on.
But as for health and the risk of losing, I think the best games make it so health is only a measure of how well you did in a fight, rather than how much you lose as to how much risk you had. Some games a full health bar is meaningless; damage is high enough you could die in mere moments, or even a blink of an eye. Why I liked corruptors more than tankers and defenders at times, was because there was more risk involved with the lower defenses. Or like why I play fallout 4 with arbitration when I am actually seeking a challenge out of it, recently for example I took out two thugs with arbitration configured such I could have died instantly 3 times, as the AI got THREE shots off at me with a weapon capable of one-shotting me and missed three times.
I came across a little diner as I often do when I first start fallout 4, and came across two thugs demanding money for some drugs they sold to a junkie. His mom of course wasn't having it. My usual approach is to shoot them both with a pipe revolver/bolt action, the first with an aimed shot and the second with a vats crit shot. This time however things didn't pan out, and the second thug was left with a sliver of health left. Her head was mortally wounded, but she was still firing at me. In that moment I could have easily died. I got lucky and dogmeat finished her off.
Moments like that are, to me, fun, because there is RISK to me. The risk of dying and "Losing". Granted, I would have only needed a quick reload to try again, but the risk was there. This is also inspite having 6 endurance and thus a "high" health rating for a low level character.
As for cheating against the npc, there is no such thing as merely cheating against the developer. You circumvent the challenge set before you by the developer who, we'd hope, wants you to succeed honestly.
As for who can cheat if we only focus on the npc, the npc's sometimes do, but the only time you really see "cheating" from an npc or developer is when they break the consistency of rules formula that difficult games have to generally strive for. Forr a blatant example; Mario Kart games and the AI's tendency to rubberband to catch up with the player even driving at impossibly high speeds and ignoring collision, thus ensuring they'll always be 2-3 seconds behind at the most.
Or fallout 4's npc's spamming grenades; they can throw a grenade with laser precision every 7.5 seconds infinitely(and I've seen them throw grenades even MORE frequently). On high difficulties, this quickly becomes punishing, especially since often if the AI is far enough away they'll throw a grenade at you and it'll detonate the instant it's within range, and you get no telegraphing or heads up warning that a very hard to see grenade was heading your way, killing you, and if your on survival difficulty setting you back 20 minutes-over an hour due to a lack of beds to save in since you last "slept to save".
Or a non-npc example: Fallout 4's survival mode and making you sleep to save and removing console, which due to the buggyness of the game, is flat cheating on the developers behalf, albeit unintentional. The fact is the game can on that difficulty "Cheat!" by crashing after you played for 30 minutes-2 hours without saving due to making sure you couldn't save anywhere within reason due to overlooked map designs.
Those are a few examples where the players perception gets blown and they end up seeing an unfair game thats cheating. Most players won't notice a harder npc or anything or consider it "cheap" if the rules are consistently followed. But NPC's/AI cheat all the time in earlier or even modern games(in fact I would say the NPC's in games cheat far, far more today than ever before). It's just only really seen unless the game is hard for the wrong reasons, usually those wrong reasons being that the AI does in fact, cheat.