If talking through the problem with him - usually the go-to answer for this type of question - doesn't work, then you have to move on to the next step: impose consequences for his behavior.
The best way to do this is to kick him out politely. Sit him down privately and say that games are meant to be fun for everyone, but he is clearly not having fun. Phrase it that way, that it appears he's not having fun - because if he really isn't enjoying himself, then he'll see your point; or he might say that he is enjoying himself, at which point you need to explain that he's acting as if he doesn't. Or, if his fun is derived from nitpicking you, he'll be forced to own up to that (or deny it, in which case again explain that his behavior suggests he isn't enjoying himself). Add that he is, in turn, making the game not fun for you. If you have statements from other players who also don't enjoy his behavior, you can add "and others in the group", but absolutely don't name names. Then tell him that since he doesn't enjoy your game, it's time for him to stop playing. Tell him his character will be dealt with appropriately, that you wish him the best, and that you hope to someday game with him again in a setting more enjoyable to you both. End the conversation there - get up and walk away if you have to.
It absolutely sucks to have to boot someone from your game, but if he's this much of a problem and you've already tried talking to him, with no success, then you can't keep him around. He will burn you out, make your game toxic to you and probably your other players, and generally ruin everyone's good time.
There are other ways to impose consequences, such as imposing an in-game penalty on him when he starts trying to control your NPCs, docking XP, or verbally chastising him ("You do not control the NPCs. Please be quiet."); however these usually feel punitive to the problem player and will probably just make things worse. But if you honestly believe that he can be convinced to stop nitpicking, you can try them. You should note that using these will probably end up being a passive-aggressive way for you to kick him out anyway, by making him so miserable and frustrated that he table-flips and walks out - not the ideal solution. It can also make your other players upset with you and sympathetic to the problem player, since it appears you're "unfairly" picking on him - so again, use with caution.
My suggestions, coming from the other side of the fence where I (and some of the other players) feel that the DM plays a little too fast and loose with the rules, and makes changes to things that we think ought to be "canon" for the well-known world we are playing in:
1) Be willing to consider that the player may be right. Allow him to make a brief argument referencing the rules. Then make a ruling. Make a mental note of how often you rule against the player versus how often you change your mind and agree with him, and try (later, outside the session) to assess whether you're being particularly harsh and/or truly weakening one character's abilities relative to the others'.
2) Be firm if you still disagree with him. If he still disagrees with your ruling, tell him, "I need to ask you to go with the DM ruling for the moment and we can discuss it more later outside of game time, to figure out how we'll play this type of situation in the future."
2a) Try to offer the player another way to reach his objective. Say something like, "Look, the rules say that you give away your position if you attack from hiding. If you then, in full view of the enemy, duck behind the same tree, they are going to know where you are, even if you are so well hidden that they can't perceive you. Thus you do not get the advantages of being hidden in that case. Now if on your next turn you stealthily move to the next tree and hide there without being noticed, and then attack, that would be unexpected and give advantage."
3) Ask players not to use the Monster Manual at the table, and to avoid using metagame knowledge about monsters. That said, try not to mess with well-known monsters in a canonical setting without a really good story justification. If you're playing in a canonical setting, Mummies are going to be something that most adventurers will know the legends of, and the way that Mummies are described in this universe really does preclude a "good-aligned Mummy". If there's going to be a good-aligned Mummy, there should be a good story to go with that, to say how that happened contrary to the usual Mummy creation process, that the PCs have at least been given hints about. Otherwise, yeah, it's pretty appropriate for a PC to automatically kill any Mummy he comes across on sight. They will know the stories....
Note that the 5e MM does say (page 7 if need a reference for your rules lawyer):
The alignment specified in a monster's stat block is the default. Feel free to depart from it and change a monster's alignment to suit the needs of your campaign. If you want a good-aligned green dragon or an evil storm giant, there's nothing stopping you".
However, unless there is a good story behind the anomalous alignment, and your PCs have access to clues about that story, I think it would usually be better (and annoy your players less) if you either make up a new monster that isn't in the MM, or be clear that you are playing in a non-canonical setting and using monsters that don't match the descriptions in the MM. Even in a canonical setting, you can play variations on less-legendary monsters, but be clear (out of character) with your players that this is what you are doing. In all cases, allow the players relevant checks to recall some in-game, in-setting lore about the monster you are actually playing.
For example instead of just putting in a good-aligned Mummy you could say, "You see a medium-sized humanoid, wrapped in bandages. Make a religion check". Tell everyone with a low score that they think it's a Mummy. Tell whoever got the highest check, "Because of [some detail that they can perceive] you think this might not be a true Mummy but rather a Pseudo-Mummy. Pseudo-Mummies are created by a different process than True Mummies and in some cases can maintain their pre-death alignment." If you want, you can go into the process more, or you can just say that the character doesn't know any more than that. Now you have a good-aligned Mummy that your player shouldn't complain about.
4) Consider having a talk with the players about what game everyone wants to play. You have a conflict in play style with the "rules lawyer" player. Do the others also want to play "his" game, or do they prefer your approach? Can whoever is in the minority live with adjusting their expectations to what the group as a whole prefers? Can there be some compromise?
Best Answer
It sounds to me like an expectation problem. You should easily be able to resolve it by asking the player why they feel the need to say those things. Once you figure out why, you can do something about it. Although my suspicion is that the player is used to a GM vs Players style of gaming and thus covers all his bases because otherwise, they get picked on. Also, ask the player why they are role playing and what expectation they have from your game. If they want the GM vs Player, then maybe the game is not right?
As an side to address the two issues you mention:
But both points to a GM vs Player mindset...