I had a German roommate who also had the same problem. To make a long story short, when the lady offered him the L permit, he kindly said there must be some mistake, that he is an EU PhD student so he should have a B. After some discussion, the woman refused to call anybody, so he simply refused to take the permit

He took back his money and left. He then contacted some people (not sure who) in the immigration office, as well as trying to get the ETH to support him and call on his behalf. In the end they gave him a B permit. I think if you kick and scream enough you might just get the correct permit. As he tried to explain to them, getting any sort of contract here is next to impossible with an L permit.
If you'd like, send me a PM and I can give you his email address/phone number. Perhaps he can help you with who you should contact.
Good luck!!!!