There are really maybe only three actually maybe four things it can be...
Indexing
Bent hanger/frame
Worn cassette and or chain.
Freehub body not straight
So if you worked through them....
I had a noisy chain cassette issue that turned out to be a slightly worn chain on a new cassette. They just didnt like each other.
New chain and cassette and away you go. To be honest I now have an old MTB as my trainer bike for these issues though I appreciate not everyone has the space /luxury/whatever to do this.
The cassette on the trainer may be in slightly different place compared to your wheel so indexing would solve that difference.
If it's a bent hanger then it'd shift OK for some gears but not all.
Wear would only show where you have a difference in age - your bike drive train wears at the same rate so when you put it against a new cassette on the trainer it needs to wear in. You could try taking the cassette off your bike and put it on the trainer to test this one.
Freehub body is easy to spot - put bike on trainer and spin the pedals backwards. If the cassette rings seem to pulse in and out from the body of the trainer as they rotate this suggests that the axle/Freehub is bent.
Sorry just trying to help as it could be end user error and unless you've tried these things why is it the trainers issue - unless it's a bent axle/Freehub.
You say... If only it were that easy but all you've done is talked about spacers and not what you have and haven't tried. So you could stow the sarcasm and take this for what it is - someone simply trying to help by offering suggestions.