If you want the best combination of damage and tanking, then Jack is your best bet. He’s almost the most versatile, and works great with anything you pick up.
But if you want me to choose between the characters you listed, then I’d honestly put Aurelia as the better combination of tanking and damage.
Wilhelm tanks pretty OK, but if you play Aurelia correctly (watch @Derch’s deputy Aurelia videos on youtube) she will rarely die because she will be freezing everything so it can’t attack you.
TL:DR-If you want good tank and good damage then Wilhelm works alright. If you want something more in depth, read on.
Wilhelm can be fairly tough, but most he’s pretty pigeonholed by COMs. Besides the legendary COMs, he has no COMs that have all around damage and survivability. His CoE only boosts cryo damage, and his other COMs only boost certain gun types or elements.
Willy tanks far better against bosses, but his tanking works in a way that is time dependent. He has medium regen over a prolonged period, so when you get hurt you have to avoid taking hits while you recover. If you have too many enemies shooting you at once, you will die. Aurelia’s tanking actually works a bit better when she’s surrounded by mobs since they proc her freezing skills, healing her, immobilizing them, and allowing her to kill them easier.
Since you’re playing coop, this gets a bit complicated. Wilhelm’s Overcharge and Laser guided are awesome for any team, but Aurelia has an entire tree dedicated to coop buffs. She also freezes everything effortlessly and has sniper res.
If you want a good tank by classic RPG standards (a warrior who can take some hits) then Wilhelm is the closest thing out all the characters you listed. Clappy’s survival is really spikey because it depends on having lots of DoTs out, killing things, or having the right subroutine. Aurelia’s tanking comes from preventing things from hitting her. When you get to an enemy that can’t be frozen, her glassiness starts to come through.
Just realize that if you are going to play as Wilhelm, you will need to utilize cover and retreat when your injured. Wilhelm isn’t Axton, he can’t stay in the fight with a corrosive DoT on him and power through it. You’ll also have to get the hang of using Laser Guided. If you’re on console and your AS button isn’t responding, Willy can be a pain because you won’t be able to paint enemies before Wolf kills them.
Sorry for writing you a big wall. Hope something in there is useful to you.