All output enable pins of the buffer (74125) are tied to ground. I don't ever tri-state the output, it is always high or low. All unused inputs are tied high. The output signal, when testing with my scope, from the 74125 looks just like the output of the back-to-back gates of the 7404. The timing, levels, etc. are all correct for both chips, but the 74125 won't drive the input for some reason.
I can only come up with the idea that the 74125 I chose, like the FPGA, is a CMOS device, and the 7404 is an older ... uh, not CMOS device? TI's datasheet for the sn74als04 does not say what the internal design uses, and it seems there is more going on here than the voltage of the logic levels. The 74125 I chose swings to Vcc - 0.2 and it powered by 5Vcc, so the high is 4.8V (I measured it), and the 7404 does not even go that high.
It is frustrating because I can't make a part selection! The 7404 I have is a DIP that I'm using for the debugging, and I need an SMD part. It is a little unnerving that the difference between my circuit working and not working comes down to some unknown aspect of a chip, and picking a test chip at random, that luckily happens to work, from all the 7404's I have laying around.