It appears that in Poisson regression, using an identity link function means your betas will be rate differences, and using a log link function your (exponentiated) betas will be rate ratios.
You can use an offset when using a log link function because log(events/time) = log(events) - log(time) and you can then move log(time) to the predictors side of the equation to make it the offset. But when using an identity link function, the outcome is just "events/time" with no log, so you can't use logarithm math to turn the division into a subtraction and make it easily moveable to the other side.
At first I thought you could just make sure your rates have the same denominator before you fit the model, the same as you would do if calculating a rate difference by hand (eg. if you are comparing 2 events in 50 person-years vs. 7 events in 100 person-years, convert them to 4/100 and 7/100, and then for Poisson regression drop the "per hundred person-years" because it now cancels out) but then I realized that because the Poisson distribution only has a single parameter for center and variance, 4 events in 100 person-years would not have the same variance as 2 events in 50 person-years (I think -- if I'm wrong on this, please explain how/why!).
So is it just not possible to use an identity link function if you need an offset, or is there a way to do it? And if there is a way to do it, what does the equation look like?