plus is not a primitive itself it (along with minus) is part of the syntax of a glue (skip) length. Similar to the usage of pt or cm which similarly are keywords used in length syntax.
The TeXBook gives the list of such keywords in classical, unextended TeX as
Here is a complete list of TeX's keywords, in case you are wondering about
the full set: at, bp, by, cc, cm, dd, depth, em, ex,
fil, height, in, l, minus, mm, mu, pc, plus,
pt, scaled, sp, spread, to, true, width.
(See Appendix~I for references to the contexts in which each of these is
recognized as a keyword.)
So it is defined in the web sources of tex-the-program, specifically the code that scans a glue specification:
@ @<Create a new glue specification whose width is |cur_val|...@>=
q:=new_spec(zero_glue); width(q):=cur_val;
if scan_keyword("plus") then
@.plus@>
begin scan_dimen(mu,true,false);
stretch(q):=cur_val; stretch_order(q):=cur_order;
end;
if scan_keyword("minus") then
@.minus@>
begin scan_dimen(mu,true,false);
shrink(q):=cur_val; shrink_order(q):=cur_order;
end;
cur_val:=q
hskipthat comes before the thing, then note that it takes a<glue>as argument, then after that lookup what glue means. – user202729 Nov 27 '21 at 05:00