I’ve known for years that if we hit a function with a Fourier transform, we have an inverse Fourier transform that will recover the original function.
For a particular definition of "function".
Not all functions have a Fourier transform that is a function in the traditional sense. For instance, the Fourier transform of a pure sine wave will be a spike at just that frequency, and zero everywhere else, i.e. a Dirac delta function. So unless you exclude functions such as pure sine waves from your input, or you treat the Dirac delta as a valid "function", it's not true that the Fourier transform is an isomorphism.
In other words, we can say that 100Hz appears in the signal with some intensity, but we can’t say if that appears at the beginning of the signal or the end.
Of course not. If the function has a 100Hz component, then it has a 100Hz component. It's the function that has the 100Hz component, not a particular time location. The 100Hz component isn't at any particular time, it's a component of the entire signal. In a Fourier series, each term is a term of the series at every value of $t$. In a Fourier tranform, instead of a series, you have an integral, and each part of the function that's integrated is part of the integral for every value of $t$.
[BTW, a Fourier transform takes a wavefunction across ALL of position-space (from negative infinity to positive infinity) to ALL of frequency space. So there's no "beginning" or "end". For that reason, I'll be putting those terms in scare quotes.]
A Fourier transform treats every frequency as being present at every time, with an amplitude that depends on the original signal, but is constant across all time. If the amplitude of 100Hz is $a_{100}$, then the amplitude is $a_{100}$ for all values of $t$. As far as the Fourier transform is concerned, it is nonsense to say that 100Hz appears in one part of the signal, but doesn't appear in another.
Now, you're probably thinking of something along the lines of there being a signal in which you can see a 100Hz oscillation in the graph of the wavefunction at one value of $t$, but can't see it at another. In that situation, a Fourier transform treats the 100Hz component as being present at all times, but there are some places where all the other components combine to cancel it out.
Those are very different signals to me, yet I’m supposed to be able to recover each by applying the inverse Fourier transform?
Yes, if you have signals $A$ and $B$, and you see a 100Hz oscillation at the "beginning" of $A$ but not the "end", and you see it at the "end" of $B$ but not the "beginning", then that means that for $A$, the other frequency components are canceling out the 100Hz at "end", while for $B$ they're canceling them out at the "beginning". Since the other components are exhibiting different behavior, that means that their amplitudes are different. So this apparent difference in 100Hz behavior in the position space shows up as different amplitudes in the frequency space. There is no locality: anything that shows up at a particular time in the original function is reflected in the amplitudes of every frequency in the transform.
If something looks like a pure sine wave, but it is present only at one time, then to get that in the Fourier transform requires components across the whole frequency spectrum.
There seems to be an inconsistency: we either lose the time information and can’t invert, or we retain the time information and can invert.
The information that was shown by the time information is transformed into frequency information. It changes form, but it is retained. We retain the time information, but it is no longer represented in a time component.