Ouch. When you start messing with (sub)domain names, you're venturing into proxy territory. Can you deal with that? (I'm guessing yes, since you've already got a rule with [PT] flag.)
I note by the way that your Conditions don't come with closing anchor, so they don't do anything about the (rare but attested) case where someone asks for "www.example.com:80" and the like.
Put the admin exception before the other rules. Then it's safely out of the way and you don't have to think about it again.
Now what I need is when I'm on "something.domain.com/contact-us" (for example), it to go to "domain.com/hosted/something/page.php?url=contact-us" and to show "something.domain.com/contact-us"
Is this the basic pattern you're looking at? (DO NOT cut & paste; this is preliminary.)
RewriteCond %{HTTP_HOST} !^(www\.example\.com)?$
RewriteCond %{HTTP_HOST} !^example\.com$
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com
RewriteRule (.+) /hosted/%1/page.php?url=$1 [L]
Can the subdomain be anything at all, or is there a finite number of them? If there's only a small number, you can list them by name as (sub1|sub2|sub3)\.example\.com and skip the other Conditions. If they have a fixed length, or minimum or maximum length, include that: [^.]{2,} or [^.]{3,12} or similar. Is there anything preventing your subdomains from being named, say, wwwwww6.example.com? If not, there probably should be. You'll also want to block "example.example.com".
I put + rather than * in the Pattern assuming that you want a different rule when the request is simply for the (sub)domain front page. But if your php is set up to handle null requests ("url=") then it can all go in the same Rule.