I actually have a creative solution I have been working on, and the fun part is you get to build me an "extra dimensional horse stable." Does that sound fun?
The solution is:
on the player teleport event (just before the player teleports)
____if the player is on a horse & the horse belongs to the player
________teleport the horse to the "extra dimensional horse stable" which is a chunk that's locked from unloading.
________set a short timer (100ms or so)
____________teleport the horse to the player
____________place the horse on the player (um.... sure)
We will also disable horse suffocation just incase.