I think you misunderstand what most people mean by “code is law”. They do not mean the fairly trivial point that code will do whatever it is coded to do. They mean a much more complex and subtle point.
What they mean is that when people send funds to an Ethereum contract, the code for that contract is the agreement between the people. That is, that the code determines not only what they can and can’t do from a practical standpoint but that it also determines what they can and can’t do from an agreement standpoint. By “code is law”, they mean the code is the agreement and that so long as you don’t somehow get the funds to do something they weren’t coded to do, you are complying with the agreement.
By this reasoning, the hard fork was a violation of the agreement among the DAO participants and thus morally wrong and akin to theft. The classic chain preserves the agreement between the parties and has the moral high ground because it doesn’t impose something on someone that they did not agree to.
I don’t agree with this reasoning, but it should not be misrepresented.