Most clients would balk at your hosting price on this one, the reason for that is that it is 1/10th of the cost of the website, and a that being a month. So they will automatically think that they need to spend another 360 dollar a year to host the website. When they consider this up against the website price of 300 dollar, it sounds high.
The tricky part with hosting websites for clients is being the contact person. With some clients this is never an issue, and you wont hear a word from them. While others can be a nuisance. This makes the cost for hosting a balance process of getting it to a part where you make money, but with as little work required as possible.
What you can do that normally work better than just selling hosting, is selling it as a maintenance/update package. This means the $30 could include two text changes a month in addition to the hosting for example. If you do this it is usually easier to sell, than as pure hosting.
If you go this route, make certain that the contract specifically specify what is included, i.e. text change for up to X characters, and that any unused changes a month does not roll over etc.
If this is a country tld/cctld (and not those mass selling domains), and you register a domain using a company's registered name, or even a similar name, they have a possibility to get the domain from you.
In the past I have helped several companies get back their domains, free of cost, by sending a complaint to the national organization handling the domains.
Another caveat is that unless you specify directly that you own the domain in the contract, (in which if the client read it they would most probably complain) they can take you to small claims court, and their chance to get a ruling in their favor is big. The reason for this is as others has mentioned earlier, that holding the domain as ransom is frowned upon.
We have quite a few domains registered for our clients, simply due to the rules/requirements for our country tld. In these cases we pay for the domains, and bill the clients. For all of these, the whois owner information is always set their name/organization, and we are on the contact and tech information.
If you purchase domains on behalf of the clients doing that is vital. As if something happen, the client can always launch a complaint, and get the domain transferred after proving they are the person/organization set as in the owner information.
Also, as a last note in regards to holding domains ransom.
Do you really want to keep a customer that for some reason does not want to work with you anymore?