Of course not.
Morality is concerned with an absolute scale of right and wrong. It may be a scale subjective to an individual, culture, or particular time period, but it's a scale that is not subject to laws, norms, or contracts.
By virtue of simply being born in the United States we agree to abide by it's laws, but that doesn't mean that those laws are always valid. Our history is a record of brave individuals challenging the law on moral grounds and invalidating the law in court.
Just because one signs a contract saying that they won't tether doesn't make it immoral to tether any more than a black person drinking from a "whites only" water fountain 50 years ago made them immoral (even though they were born in the US, technically "agreeing" to the discriminatory law). It is unethical, just like it used to be illegal for a black person to use white facilities.
That's no indication for morality, however - for what is right or wrong. Segregation is wrong, and so is dictating the use of tethering on data plans with a data cap.
A wireless data service has only two metrics: bandwidth and data transfer. Bandwidth is the rate at which data is transferred; data is the total amount of data that has been transferred.
Carriers make no guarantee as to the bandwidth their service will provide. You simply get what you get as a function of reception and available service. It's also independent of tethering - a user will get the same bandwidth whether or not they are tethering. Therefore, distinguishing service based upon tethering, in terms of bandwidth, is invalid. In other words, a customer doesn't get more bandwidth when tethering, therefore there is no justification for charging more for "better service".
Tethering does increase the amount of data a customer can access. Because the usage and capabilities of devices differ, a user can access more data through a computer than through a mobile phone. Since a user can access a greater amount of data through tethering than without, there is a justification for charging more because the customer is getting a better service.
With a limited data plan, however, that justification is completely nullified. With a limit to how much data a user is allowed to access, tethering no longer allows the user to access more data. The cap is constant - the user is limited to a certain amount of data whether or not they are tethering. Therefore, once again, distinguishing service based upon tethering, in terms of data transfer, is invalid.
Since the two metrics that define the service are independent of whether or not a user is tethering, there's no justification for charging more for it. It doesn't matter if a customer uses 2 GB in 30 days on their mobile or 2 GB in 5 days on their desktop.
The customer is provided with the same bandwidth.
The customer is provided with the same amount of data.
Therefore, the customer is being provided with the same service.
It is immoral to charge more for tethering when the customer is being provide the same service. That's all there is to it.