In fairness, if the new person is competent it's usually very clear early on, and they tend to move on to better things fairly quickly.
I think #2 is probably too 3D chess for an org this small and flat. It really seems like this is just the culture and maybe it works for some people? I'm not a man so I'm kind of excluded by default as well.
#3 is definitely the big question - I don't think toiling away is going to earn respect, but it will get me a paycheque. It's funny that people on here seem to think getting assigned shitty tasks will make people think you're a rockstar instead of, you know, the person who does all the shitty tasks. In my experience that kind of reputation is self-perpetuating and, as you say in #2, not really recognized or promotable.
Step 2: Consider that there's a high probability that you were hired to clean up the mess. Maybe your teammates would like nothing more than for you to jump on the grenades so they can tackle the high-profile projects and get the promotions. In this context it probably starts to make more sense what's happening here. Giving negative feedback is a cheap and easy way for your teammates to signal to management what the ranking order is (especially if management is non-technical or too busy to look at the details).
Step 3: Decide if it's worth staying. This could mean playing the long game. It could mean having a strategy to rep up with management behind the scenes. It could mean doing the hard work of shoveling in the trenches and playing code janitor to earn the respect. It could just mean collecting the paychecks and associating less of your identity with this job while you pursue hobbies, family, whatever else.
Spend some time with your teammates on a social level and find some common ground. If you all like each other first it's easier to work together and harder to criticize.