In the final analysis, it's up to your players to prevent metagaming -- as you've noticed, it's easy for them to figure out what's a minion and what isn't. That said:
I like to keep monster knowledge checks in mind. I know which PCs have high Nature, Arcane, Religion, and Dungeoneering skills, and I make sure the players know the things their PCs should know. For example, I'll say "oh, and Zenja, you've studied those weird Fell Taint things," because she's got a high Arcane. I don't ask for a roll, I just provide the information. This removes a lot of the emphasis on playing metagames to figure out the best tactics.
Further, on the occasions that I don't give information, the players are more likely to accept that it's a mysterious monster. They get a bit more worried, since they know it's something special and funky.
I'm going to make one critical assumption about your gaming group. If it's untrue, I don't know if my answer will be helpful: The friendship of the people at the table is more important than the game you're playing. Going forward I'm assuming you're all friends foremost, and you play games as a form of mutual recreation. Now, on to my answer.
TL;DR: This is not a game-mechanic problem, and game-mechanic solutions won't fix it. I learned the hard way that if I need game-rule punishments to get players to behave the way I want, it's already gone too far. Solve it as a social challenge, not a game problem. The group needs an out-of-game talk about agreeing on goals and playstyles.
So, you've made it clear that you want to run a game with a particular kind of attitude toward metagaming and you're willing to enforce that attitude punitively.
Some people in your group have made it clear they don't want a game with that attitude, and are willing to endure punitive measures in order to play the kind of game they want to play.
No amount of mechanical leverage is going to fix this situation, because you're trying to use game rules to address a social-level disconnect about the kind of game the group is playing. If you manage to find punishments that are harsh enough to force them into playing the way you want them to, they'll leave instead.
The way to handle this situation is to treat it as the social challenge it is, rather than a game problem. Have a group discussion about playstyle and goals. Hold it outside of play time, maybe over a meal. And since nobody in the group, GM or not, can order other people how to have fun, the discussion needs to be one in which friends are working out how to have fun together. Some of the answers to this question may be useful. Take off your GM hat and have a chat with your friends about how to make game time enjoyable for everyone.
The purpose of the discussion should be finding mutually compatible goals and playstyles that the group can agree on. If that proves impossible (I hope not! but it happens), then the group will know for sure that they aren't all going to be able to have fun in the game together. You can stop trying to force unwanted behaviour on the group and instead spend your energy playing fun games with the people whose playstyles match your own, and the people you can't collaborate with will be free to find groups more suited to their goals.
Best Answer
The DMG section on running combat (p.247-248) has this to say:
And since the Fighter's Battlemaster has a class feature (Know Your Enemy) that can tell you their HP in a very vague way, whether they have more or less than you do, it seems clear that the game at least expects HP to be secret information, while allowing that some DMs may decide not to hide it.
Most DMs, including me, give some kind of general indication of how much HP a monster has left using general terms like the "bloodied" reference above, which originates from 4th edition using that term to mean "below half health" (a good idea used -- perhaps overused -- in 4e to trigger a dramatic difficulty or style change in the fight). Many DMs describe being above half health as "unhurt" or "barely injured", below 50% as "hurt" or "has taken a few hits", and then at very low HP, perhaps 10%, phrases like "in really bad shape" or "barely standing" are common. There's usually nothing more clear than those, though, and definitely nothing numeric.
At my table, terms like "barely standing" are usually code to let the players know that the creature has only a handful of HP left; they can expect to take out the monster with a single hit of a basic weapon attack or cantrip. I'm letting them know they don't need to expend any resources on finishing off that target. Once in a while when an attack just barely fails to drop a monster I'll say something like "Ohhh! He's got two hit points left!" or "He survives that hit with one HP!" just to ramp up the tension. (But depending on the hit, I'm just as likely to ignore the last couple HP -- it's dramatic and fun to have a monster get finished off with a huge crit or incinerated by a fireball, so I have no problem with fudging in favor of the players there.)
I personally have never seen a problem with the metagame implications of Power Word: Kill, sleep, and similar spells and effects that depend on specific HP totals. Yes, there's a tactical decision to make there. Do you throw the spell now, or hold back and deal some more damage first? If you throw it too early, you waste the spell on a creature too strong for it. If you wait too long, you waste some of the spell's potential output, possibly taking more damage than you had to.
But that is, as they say, a feature, not a bug. Using those kind of spells is something of a gamble, and that's one of the balancing factors to them. I don't think you should be able to use spells like that with absolute certainty that they'll work. There's no save, so you have more control than you would otherwise, but it's never a sure thing.