Are you overreacting? Yes and no.
Keep in mind that while all of you are at the same table, you are not all playing the same game. It sounds like you are a story player. All you care about is the narrative flow of the story, and what your character should logically do in that situation. Your "Problem player" is an achievement player (usually called rule lawyers, as they are more focused on the game mechanics than the narrative). He is trying to "win" at everything, and to fail when the mechanics are in their favor is like being killed by an enemy in a video game only because your hitbox is larger than your visible character. (AKA, it feels like being cheated)
How much you enjoy the game will depend on how much you can tolerate this other player playing a different game from you, so the more you tolerate it, the more you will have fun. At the same time, this behavior is disruptive and should be kept to a minimum. After all, he is not the only player, and it is important that EVERYONE have fun.
In the case about asking about HP; You are thinking "narrative, who is willing to do this?" He is thinking "Who can take this hit with the smallest chance of getting killed later because of it?" This is ok. You can mix meta-knowledge with in game decisions as long as you keep the game moving.
To flip this around, assume that a powerful entity makes you an offer you can't refuse (you can, but in character, you wouldn't want to); and as part of the deal, you have to kill the bard. So you murder the bard in his sleep. To the bard player, you are the problem player because you did "What your character would do" over what is fun for the rest of the players. (This is a bit contrived, but hopefully it illustrates what I mean about how playing in any way other than "lets all have fun" can be problematic behavior. Meta-gaming isn't the problem, it is just the form the problem has taken)
As for what you can do about it...
1) Ask yourself what the problem is.
Telling the DM that another player is meta-gaming isn't going to solve anything. The DM knows this, and everyone is doing it to some degree. If you want to fix the problem, first you need to determine why you are upset about the behavior. What part of it is making the game not fun for you? (In this common clash, it is usually because the meta-gaming slows the progression down, followed by breaking immersion by characters acting on things they don't know about)
2) Come up with solutions
The best way to get results is to suggest measurable/actionable changes that will allow all parties to still have fun. The less that actually needs to change, usually the better. You will almost inevitably need to compromise on this, but this gives you something solid to start negotiating on.
For example, you could suggest that the player can only challenge the DM x times per session/hour, or for so many minutes per hour.
3) Talk to the DM and Player
I suggest talking to the DM first, because they can help you though steps 1 and 2, and help you craft your argument for 3 to the player. The DM wants everyone to have fun, so feel free to talk to them. Let them know what you enjoyed, and what you aren't enjoying. (I recommend starting with what you are enjoying to the DM, because he is a faulty human. If you only tell him when you aren't having fun, he will think you are never having fun. Or at least doubt how much fun you are having. DMs like to be appreciated too!)
When talking to the player, don't make it immediately about them. Putting them on the defensive will make them dig in to defend themselves. Start with why YOU aren't having fun. The player can defend his own antics, but he can't refute how you personally feel when nothing progresses narratively for 30 minutes. This is where talking to the DM first shines. You want to be clear about why you aren't having fun, and work with that player to remedy it without directly attacking him. (easier said then done, but with practice comes mind control... I mean persuasion)
4a) Assuming 3 went well, and the other player actually cares how you feel
Don't let it happen in game. Telling the other player not to argue mechanics is like telling someone to stop cursing. It's habit, and the only way to break it is to address it while it is happening. If you address is after, it will have an extremely diluted effect, especially as more time passes. In general, give them 5 minutes to debate, than remind them that the story must go on! Hopefully over time the behavior will improve.
4b) Assuming 3 didn't go well, or the player is a jerk
If a player is toxic, and won't (at least try to) correct themselves, it is better to boot them from the group, than to deprive the rest of the players of their fun. Usually this should be agreed upon by everyone in the group beforehand, but sometimes this is the only feasible solution to problematic players.
0) Make sure everyone, including you, is having fun
At the end of it all, everyone is there to have fun. Everyone can be the problem player to a degree from time to time. Try to understand what others enjoy of the game so that you can help them enjoy it. And share what you enjoy so that they can help foster those elements. Forgive your fellow players every now and then, just as you will sometimes need to ask forgiveness from them. This isn't about you, or him, or the DM. It's about all of you coming together to have fun, so remember to foster that.