Let me try to give an answer at the basic level. I'll try to explain the problem in terms of distinction between material implication ( the ordinary --> ) and logical implication ( the metalevel relation symbolized by " ==> ")
Reference : on the distinction between " material implication" and " logical implication" see Lipschutz, Schaum's Outline Of Set Theory ( Ch14 Algebra of propositions) - Available at Archive.org
Your problem is that (1) the validity of a reasoning can be expressed using the " --> " operator in terms of validity of a conditional statement corresponding to the reasoning examined and -2) you want to conclude from this that the operator " -->" must belong to the metalevel, which would require giving a semantics to this operator at the metalevel...
Your objection contains 2 correct observations : first, the concept of validity actually belongs to the metalevel; you cannot say , inside the logical language itself (the object language) that a reasoning is valid, or that a formula is valid. That is why a special symbol is used , namely the symbol |= .
So we say , at the metalevel :
|= (A-->B)& ~A --> ~B
( Read " the formula (A-->B)& ~A --> ~B is a valid formula)
and
{ (A-->B), ~B} |= ~A
( Read " the reasoning with premises (A-->B)and ~B and with conclusion ~A is valid , in other words ~ B is a logical consequence of the premises (A-->B)and ~B ).
The second thing that is correct is that there are two equivalent ways to express the fact that a reasoning is valid.
(1) First you can do that in terms of sets of interpretations ( An interpretation is the fact of attributing a truth value to each atomic proposition, each possible interpretation - more precisely class of interpretations - corresponding, to a row in the truth table). So , here, we will say that a reasoning is valid iff
the set of interpretations in which all the premises are true is included in the set of all the interpretations in which the conclusion is true.
(2) The second, and equivalent, way to express the validity of a reasoning is to rephrase it in terms of validity of the corresponding conditional. Here you will say that a reasoning is valid iff :
in case the (conjunction of) the premises are true in an interpretation, the conclusion is also true in that interpretation, which means that the reasoning is valid just in case
in all possible interpretation ( IF the premises are true THEN the conclusion is true)
or, in other words , a reasoning is valid just in case
the FORMULA "( Premise 1 & Premise2&.....& Premise n --> Conclusion)" IS VALID ( = TRUE IN ALL POSSIBLE INTERPRETATIONS)
And here you can see what was wrong in your observation : we did not use the " --> " operator as a metalevel operator. What we are doing is that, at the metalevel we talk about a formula belonging to the object language level ( a formula that has --> as ordinary object language level operator), and we say, of this formula that it is a tautology. In what we have said, only the concepts of interpretation and of validity belong to the metalevel. The formula itself does not.
I however think that this mistake can be explained. Sometimes the symbol " ==> " is used to express at the metalevel that a conditional statement is not , in a sense, an ordinary one, on account of the fact that this statement is a tautology.
This symbol X ==> Y means " X implies logically Y" or, equivalently " Y is a logical consequence of X". This is not a new operator, to which you should attribue a semantics at the metalevel. It is symply an **abbreviation for the metalevel statement
" the object language level formula X --> Y is valid, is a tautology".**
So, instead of writing
{ (A-->B), ~B} |= ~A
or of writing
|= (A-->B)& ~A --> ~B
one can, more briefly, write
[(A-->B) & ~B] ==> ~ A ( Remark : I wrote " ==> " not " --> " )