The main player horses have a condition to check if it is the last ridden horse. If not, off it trots back to the stables. Does Shadowmere and Frost have the same kind of behaviour? I looked on the Alias and base shadowmere horse, but found no AI with the GetPlayersLastRiddenHorse condition. Although it could be in a script I have not seen yet.

