Is there a slicer that can set the print speed for each layer as a function of the layer area? Larger areas give the layer a longer time to cool off before the next print layer. When the layer areas start to get small (usually at toward the end of a print if so) the layer may need a slower speed to cool off.
Most slicers have a feature in their cooling settings to "slow down if layer print time is below xxx".
Setting this to a higher value should ensure that small / short layers aren't printed too fast, so that cooling is still reliable.
Shorter layers are slowed down linearly to reach the specified minimum time - unless a "minimum print speed" is also set.