Here are two models (with R code to provide some context):
Model 1: Take the log of the output variable $y$, then apply a Gamma GLM using the default identity link function:
glm(log(y) ~ a + b, family = gamma, data = ...)
Model 2: Apply a Gamma GLM with log link function without logging the output variable:
glm(y ~ a + b, family = gamma(link="log"), data = ...)
When I apply predictions on these two models, they give me slight but material differences. I have trouble understanding why the outputs are different.