I think this depends on playstyle. When I GM I am playing a game, and there are things I could do that would count as cheating.DMs can't cheat, because they aren't actually playing a game.
This doesn't seem to me the same as changing a monster's hit points mid-fight.Recently in my game one player was convinced there was a trap in the hallway of a dungeon. He came up with an idea for testing the hallway for traps.
In my pregame notes, there was no trap in the hall.
I decided on the fly that there was a trap and the player's plan successfully revealed and bypassed it.
Why? It seemed more fun and that player hadn't had a win in a while.
My notes and plans are not set in stone.
First, it doesn't affect the validity or rationality of any prior player choices. Whereas adding changing a monster's hit points can retrospectively make prior choices about management of resources, action economy etc irrational or invalid.
This illustrates more generally a difference between combat and non-combat resolution in D&D (with 4e's skill challenges being an exception): in combat the action resolution is tightly constrained and unfolds over multiple action declarations and resolutions - so there is a lot of scope for the GM to intervene and invalidate prior choices - whereas non-combat resolution is typically much looser, with no strict action economy (outside of Moldvay Basic and some styles of AD&D) and little resource management on the GM side. (Whereas in combat the GM has to manage the monsters' hit points.)
Here is a trap-related example which I think would contrast with yours, though, and would be the sort of thing that I would be wary of in a game: the players do not check for traps, although they know you use traps in your dungeon hallways sometime, and you look at your notes, see there is a trap recorded, but elect to ignore it. That would invalidate the players' choice, in the sense that it makes their choice not to spend ingame time (thereby avoiding wandering monster rolls) and their choice not to use resources (like a Find Traps spell) irrelevant.
Anyway, the last time I did something a bit like you described in your post, it happened like this:
I didn't use four beholders, only 2 - an eye tyrant (MV version) and an eye of flame advanced to 17th level and MM3-ed for damage. And also a 15th level roper from MV, introduced on a whim when the player of the wizard asked, before taking cover behind a column, if it looked suspicious. (Response to result of 28 on the Perception check before adding the +2 bonus for knowing what he is looking for - "Yes, yes it does!")
That is, I used the player's successful check as a quite overt and deliberate opportunity to introduce a new element into the encounter. At my table, the players understand that encounters can come in waves, and handling that is part and parcel of the resource management they are expected to engage in. Just as being honest about monster and NPC hit points is part and parcel of the resource management I am expected to engage in.
And this is more than just semantics: extra waves of monsters change the level of challenge of the encounter, which in turn affect milestones accrued (hence action points earned, magic item properties, etc) as well as XP totals. In other words, it makes the pacing and challenge of the game overt - whereas secretly changing hit point totals makes pacing and challenge covert, and decouples them from the other game elements (eg milestones) that relate to them.