Here is the thought-process that helped me get an intuition for why the "in" prefix makes sense.
All functions "inject" every element of their domain into the target
space
Yes, that is the "input" part of the function's definition. We must also consider the "output" part — what the function returns — to determine the correct properties peculiar to it.
Think of it in terms of the determinism of the function's output.
How do we expect a function to behave given some argument?
The logic of some functions takes into consideration what you "inject" (pass as an argument) into them to produce the corresponding output, and therefore they are called "injective". Conversely, those functions the logic of which produces the same output when given a different input are called "non-injective", because they do not care about what arguments you "inject" into them, they might still give you the same output.
For example:
plus(2, 2) => 4
plus(3, 2) => 4
plus(3, 3) => 6
The above is a "non-injective" function. Why?
First, keep in mind that "injective" does not by itself imply a one-to-one relation of the input to the output (we would need the "functional" property to be present at the same time for that), but it implies, at least, that some one output is mapped to no more than one input: (2, 2) and (3, 2) inputs both mapping to the output of 4 invalidate that criteria.
Instead of being deterministic (i.e. when the value of input influences the value of the output), the mapping in the example above allows for different arguments passed to the same function to produce the same result. Who knows what other input is mapped to the same output of 4, we can't know, because a function seemingly doesn't care about what we "inject" into it, it is not "injective".
(More on conflating "one-to-one" with "injective" below:)
Another example:
plus(2, 2) => 4
plus(2, 2) => 5
plus(3, 3) => 6
Now the plus function is "injective" (because the output of 4 is mapped only to one input (2, 2) we inject into it), but it is still not a "one-to-one" function, it would instead be properly described as a "one-to-many". This function is not a "one-to-one" because it is not "functional", meaning it doesn't care about some one input being mapped to no more than one output: (2, 2) input mapping to both 4 and 5 invalidates that criteria.
"one-to-one" means a function is "injective" and "functional" at the same time.