Your observations are correct.
As documented on the spine-unity pages
http://esotericsoftware.com/spine-unity#Timeline-Extension-UPM-Package escreveuClip durations don't matter. Animations won't be cleared where there is no active clip at certain slices of time.
Current solution/workaround is to add an empty animation clip after a shortened clip to lead to a call to SetEmptyAnimation()
at the target skeleton.
This is not ideal, I have added an issue ticket here:
https://github.com/EsotericSoftware/spine-runtimes/issues/1807
This issue has been fixed with the latest 4.0 Timeline package. Behaviour at clip end is now configurable and defaults to mix out to the empty animation at the clip's end.
The spine-unity 4.0 Timeline UPM package is available for download here as usual:
Spine Unity Download