No, your are missing a critical distinction. Ethics says to you do the job you were paid to do. If you don't like it, don't believe in it, etc. just leave. The Nuremberg defense was used by people that enjoyed following the orders until they lost and got caught.
My point was that instead of a low-level "programmer" having delusions about deciding the ethics of the company or even industry, perhaps leave that to the public, the consumers. They may get it wrong, but guess what? it's their job to decide what the market wants, NOT yours.
And I didn't say stay and follow orders. If you really believe you are that right, your free choice is to leave.
See you want it both ways. You want to feel morally superior, but want to get paid and eat too. But unless you are willing to really put up something of value, your personal moral objections carry no weight. In fact it pretty much shows how petty you are. Real ethical convictions mean not ignoring or avoiding the personal costs.
So why not change the awful organisations? The ETHICAL way to do that is to change a) the law, b) public opinion, c) show wall street an ethical way to make money, etc. d) compete better and put them out of business.
Stealing time, privately or publicly undermining your employer is not ethical. Stirring up politics at work is not ethical. Or wise.