Maybe your horse is starting to get bored so doesn’t really try. At shows since it’s a different environment and more competitive your horse can sense the difference. You could try doing something different going out on a hack, riding in a different place, doing different riding work.
The horse may be bored or too comfortable at home, but at shows it’s new and exciting. Try to change up your routine and make it more fun for the horse. Make the horse use it’s brain.
Use a whip or just a good leg and start your session with active work, either a medium trot or even straight to a faster/medium canter. Lots of transitions alllll the time!!! Circles, laterals. Constanatly change it up.
Trot poles too.
And if you can, trails etc. go for a run.
Try and do something different every day.