Start with applying.
Get through at least the phone screen and maybe even the in person interviewing before you start debating titles - give them a chance to get to know you and like you. While you're at it, speak clearly and eloquently on both your expertise in general and your relative unfamiliarity with C#/.NET
I would wait to get an offer or until you've met the hiring manager and had a chance to have a focused talk with him/her. At that time, the manager may ask "Any questions or concerns?" and it would be a fine time to say something like - "I really like this job, (and other good stuff about the work, the team, or the company), but I'm concerned about taking a step backward in my career - I have enough experience in (some details) that I'd normally NOT be considered a junior engineer - that will be something I have to seriously consider if you give me an offer." - you don't even necessarily have to ask for a title change, you just have to put the concern out there and see what they say.
They may say:
- all our positions are linked to salary ranges, and we literally don't have the budget to do better than junior right now
- our team is full of more senior engineers, we really want a junior (chances are if they really wanted someone 1 year out of college, you won't have gotten this far in the process).
- fair point, we'll see what we can do
- in our terms you ARE a junior here's why...
I'll say as a hiring manager I have taken the opportunity to increase title when the applicant was noticeably higher than the job description. In the particular case it was pretty radical - the person was at least 2 grades above the job he applied for, and I went cautious - I went with the lowest grade that was in the vague vicinity of the skill set. In that particular case, I had the budget and the opportunity to make that work from a human resources perspective and within the requirements of the work we were doing.
Factors that a manager has to consider when doing this:
positions are usually linked to salary ranges - the applicant MUST be paid w/in a fair range when they have a given position. Often, a manager does an employee a huge disservice when they raise the title and don't raise the salary too - so there has to be budget.
job descriptions and titles are also very much linked - if your title is higher, the expectations MUST also be higher. A manager can't usually say "this guy is a senior but it's OK if he's doing the job of a junior". For evaluations, the manager MUST evaluate everyone in a given title with the same general set of expectations.
what is the work - if the work is mind-bogglingly junior, how would you make it of a reasonable challenge to higher level employee? Often with software engineering, I can find ways to do this... but it's not a given in every field.
any decent manager worth working for wants you to succeed in doing the job they've described, and wants to pay you well enough that you won't find or take a better paying job - they want to like you and keep you working for company as long as possible
These two factors are generally beyond the manager's control and the company will have very little interest in changing the rules. There's usually some degree of ambiguity - for example, juniors do some of the work of seniors, and most grade levels overlap each other in terms of pay, so a really well paid junior may make more than a really badly paid non-junior.