This always seems to be the answer, but...
Talk to the player first.
I'm assuming you have some means of contacting your players outside your normal game time, if only to set up game or let each other know of cancellations or emergencies. Send your player a message, something along the lines of "Hey, I've noticed that you seem dissatisfied at game lately. Is there something going on you're not happy with? I want to make sure our game is fun for all of us, so please let me know if you have any concerns."
See how he responds to that. If he responds with a list of concerns, use those as a starting point. If they're things you can address, try to do so. If you think his problems are irreconcilable with your game and/or the other players, then say that, politely, and suggest that he might want to look for a different game to join.
If his response is neutral or brushes you off (such as "nothing's wrong, see you next game"), then you can let it go for a session or two. See how he behaves, and whether he raises the issue himself.
Ask another player to initiate communication
If you're not comfortable approaching the problem player directly (or don't have the means to do so), you can speak again with the person who told you this player wants to leave. It sounds like the go-between is friendly with him, so you can ask the go-between to, next time the player brings up the issue of wanting to leave the campaign, tell him to talk to you about it.
Don't use the go-between to actually convey messages like "I heard you want to leave, what did I do wrong?". That kind of thing usually gets lost in communication, and it puts the second player in an awkward spot. Just ask him to pass on that you're open to hearing your players' concerns and that the player is welcome to talk to you if he has a problem.
Don't jump the gun
Either way, don't rely on hearsay to drop a character and his player from the party. Don't allow the other players to sacrifice this guy's character unless you have his explicit buy-in (or if it comes up naturally in-game and the player himself is all for it). Don't assume that he meant what he said about wanting to drop, either - I've had players complain about my game in moments of frustration, but when I ask them if there's something I can do better, they reassure me they're having fun and were just briefly frustrated.
TL;DR: Communication is your friend!
Talk to the player. Follow his lead, and don't make assumptions based on what other people are telling you. If you handle this issue with grace and good will, then it's highly unlikely the other players will see a reason to stop playing a game they enjoy just because their friend did.
Is the problem laziness or lack of skill?
This problem can be approached in either of two ways: treat the symptoms or treat the disease. I would attempt both of them, in that order.
Treat the symptoms: aka How do I Rogue?
As a core class, the Rogue is in the SRD. Given your party's use of digital means this should not be a problem to use. Character sheets do not have space to write the rules of a class feature, but here they are listed for your use. Ask of your players that need to that they write down their class features, feats, skills and magic items and what they do. This way they have the rules on hand at all times. Make them aware what these things can do for their character and the party.
Even then, there's something of a problem. The party consists of one melee guy, two casters and the Rogue. This means that the Paladin is going to be bearing the brunt of the melee attacks, and can easily be swarmed. While there's a good chance to flank a guy fighting the Paladin, the moment that the attacker drops the Rogue is out in the open. This is NOT a good thing for a Rogue with their light armor and d6 hit die. Make the player aware of this, preferable before combat with a large group.
The cure: how lazy is the player?
The real question: is the player really lazy? Sure, they might have joked about this but it can mean that they are insecure. The biggest clowns are the saddest clowns, after all. Ask them, in private without the other players knowing, if they would like help. Do not make it a confrontation or an accusation: make it an offer and a gesture of good will. Perhaps they do not know how to play a Rogue. Hell, I know that I could not Rogue to save my life. Players who are insecure are not the best teachers either: their mistakes will carry over to the others. Offer to take on the mantle of the sorceror's mentor (try saying that three times quickly) so they can focus on their Rogue.
On the other hand though, if they actually ARE being lazy, tell them that they need to put some time in the books to actually play. You (and few people do) do not like to be bogged down by the player unwilling to learn the rules, as opposed to one who just does not know them. Tell them what you expect of them and when you do so. When this time comes, ask if they managed to do the thing you asked. If they did, great! If not, ask if they need more time or some help (NEVER ask "why not?": this helps nobody).
If they are consistently unable to do so or learn the rules, you should ask them (in private!) if they want to play D&D, or if they would rather be doing something else. If this is the case, shake hands and go your own ways.
Prevention!
You want to start immediately when everyone's at the table. That's fine, but it needs preperation. Ask your players to send in their character sheets for you to check if they are what you expect (do not call it "did it right": this makes you look like a jerk). If everything is fine, great! If not, send feedback. If characters are written digitally ask for prints: if they're filled out by hand ask for pictures (you have WhatsApp, so you likely have phones with cameras). Also ask for the "cheat sheets" that you would like to see of some people. This is not a lot of work: just copypaste from the D20 SRD.
Final advice: Relax!
These events seemed to have rather vexed you. Take a deep breath, have a talk with your players and go and have fun the next time you gather for a game. If the DM is not having fun, it will be difficult for the players to have fun.
Best Answer
I too have a "rules lawyer" and power gaming player in my group, who also wanted a homebrew class/subclass to fit his character and tends to create his characters as efficient as it gets. So most of these problems I have also dealt with.
(In my case, the player wanted to play a cleric but had an idea which was not represented in the book, so he wanted to make his own. He created a first draft of how he thought the class should look like, then I adjusted it, asked reddit (who were rude but helpful) and then we put his character into play thematically the way he wanted him to be, but mechanically adjusted so he was not stronger than the other cleric options.)
The relevant part is that if we notice that the balance is not right we can and will adjust his character between sessions. (This also includes improving.)
I would recommend you to start "underpowered" and later buff his abilities if needed, this feels way less depressing for everybody than getting nerfed all the time.
An example to adjust his "shapeshifter":
Keep in mind that this shape change is not only "I use any race benefit I want", but also a very effective and cheap way to gain the effect of the Alter Self spell without using a spell slot. He could steal something in a different form and nobody would guess it was him — unless they somehow know he is a doppelganger/shapechanger, and then suddenly he is always being accused. (Maybe don't be that harsh.)
If you are not down for homebrew at all, then tell him upfront and do not allow him to use any source which is not official. You have to be strict then. Tell him that the other players don't have a custom race, why should he?
(For quite some time PvP was a huge topic in my playing group. Said player asked me questions like, would he be able to cast Contagion on another PC without him noticing. I do not want PvP in my group, even if all players are down for it. It is not the game I want to play, and so I told him that if he decides to engage in PvP he will have to create a new character, because either the other PCs or fate (me) will make sure his old character will no longer be part of the game. He created a new character fitting better into the group, and the old one simply left the group with the excuse that he no longer sees any reasons to travel with them.)
From your question, I recognize you do not want any PvP either. This is something one should clearly define in a so-called "session 0". Do you want it to be a PvP game? Do the players want it? If not, say so clearly, and do not allow characters which do not fit into the group or are created solely to kill other PCs.
My approach is the following
When improvising rules, I think the best thing to do is that you write down your ruling and after the session look if there is an official rule which fills this gap. If yes, take the official one, if not or if you enjoy your own rule more, then complete your homebrew rule in a rule text. This makes the rule less arbitrary and defines clear limits. You already did that by creating the trait.
I see three approaches to that problem.
I suggest creating situations that other PCs are simply better in, so it is their time to shine.
Create multiple and/or fake spotlights:
I do not know how serious he was at that moment, but that would be a situation where I would have thrown him out immediately. The game is about fun.
Also, if he is such a rules lawyer, he should know that you only roll the dice if the DM tells you to, and if it is your turn and you announced what you are rolling for. Even without the Nerf gun ridiculousness, I would have told him that if he does not roll "again" he chooses to fail the check.
(I know this too well. The first two or three characters of the player I am referring to were realy powerful. He since learned that this maxing is not necessary with me as DM, and is currently playing a very squishy character that, because his character does not understand how the world really works, says stupid things in dialogs and chooses non-optimal ways to go, because they are more fun. I do not know how I got him to enjoy the roleplaying more than the "power of his character". I guess it was because the other players did not participate in his competition.)
When he sticks to the rules there is nothing you can do. (Well, there is, but I wouldn't suggest you do that.)
If he uses homebrew, see question 1.
This is a pretty common problem, I think it is a different play style. He enjoys being an optimized powerful hero and probably likes the combat system the most, while you and the other players want to have a lightweight, more roleplay-y game.
In that case I would suggest:
Give them non-combat options to solve problems
Increase the number and the relevance of social encounters
Use/create enemies/encounters which his character is not built for and other characters are more useful/helpful against, like:
Best would be mixed encounters where the group has to play as a team and are depending on one another to stick to what they are best at. Maybe tune up the encounter difficulty so he learns that he cannot fight alone and needs help from the others. Or maybe tune down the encounter difficulty, so he learns that maxing is not only just not required, but also unfun because it is to easy.
I did the latter, because I balanced around the other characters.
Summary
It is your game and the typical answer on problem-players would be that the game is not only about him, and if he is not enjoying the game and/or disturbs the fun of you and/or your group, he might be better off in a different game.
And this is not a bad thing. Different people enjoy different play styles. I get the feeling that he is more the guy for an old school, encounter heavy, deadly dungeon crawl.
For your future games
I would suggest a "session 0" where the group sits together and talks about what kind of game they want to play. An official adventure? A homebrewed one? A sandbox-y game?
In what world are we? Forgotten Realms? Eberron? Something homebrewed?
Are we playing good, neutral or evil characters? Do we want to be heroes, villains, or just selfish dudes who happen to be pulled into something world changing?
Is PvP okay? How are our characters connected? A random event? Do we belong to the same group? (I would suggest having them be part of a group or know each other for about 3 years already, the first would also make an easy hook for new characters joining the party.)
Do we primarily deal with combat? Is it a social campaign with intrigues, etc.? How roleplay-y are we going to get?
And so on...
Also: Clear up the homebrewed rules you want to use. Since you already play a game right now, you have your house rules at the ready and can explain them right at the beginning for everyone.