In American usage, both of these phrases are correct grammar, but they don't mean the same thing, and at is probably the intended meaning. At merely implies you and the teacher will be in the same place. In would be acceptable if your lesson were a performance, which in a classroom setting it might be. You might find this easier if we contrast "see you at the movie" with "see you in the movie".
Having said that, prepositions can behave rather arbitrarily and non-American usage may differ.
First, your impression:
The auxillary verb "to do" is used and must be placed in the short answer, as far as the rules demand.
I don't think you understand the definition of a "short answer". Let's look at a different question, where both British and American English have the same answers.
Did you take any candy?
Some of the possible answers are:
Yes, I took some.
Yes, I did.
No, I didn't take any.
No, I didn't.
But not
*Yes, I did some.
*Yes, I took.
*No, I didn't any.
*No, I didn't take.
The explanation is that "yes, I did some" doesn't count as a "short answer" here, while "yes, I took" counts as a "short answer", and so is ungrammatical because you didn't use the verb "do".
I am not going to explain all the grammatical rules about short answers—they're too complicated and there's probably another answer on this site which does it.
For your question, just replace the verb take with the verb have above.
Do you have any sugar?
Yes, I have some.
Yes, I do.
No, I don't have any.
No, I don't.
But not
*Yes, I do some.
*Yes, I have.
*No, I don't any.
*No, I don't have.
Best Answer
I believe that the proper phrase includes the preposition in. The word is often omitted, however, because its absence doesn't change the phrase's meaning.
You act in such a way, act in accordance to, etc.