Using the default cube, create a keyframe at frame 1 where y=-4 and a keyframe at frame 40 where y=4.
Change the action just created to an NLA strip on a new NLA track.
With the current frame=20, Use the NLA editor to split the NLA strip in half via Edit>Split Strips. Drag the 2nd half to frames 40-60.
At this point, playing the animation will result in the cube moving from y=-4 to y=0, remaining stationary between frames 20 & 40 and then from frame 40 onward continuing from y=0 to y=4.
I now add a new action between frames 20 & 40 that rotates by 90 degrees and add it as an NLA strip.
If all 3 NLA strips reside on the same NLA track, the animation now plays as expected. Translation, rotation, translation.
However, if the rotation strip is moved to it's own NLA track, this changes.
In this situation, there is translation from frames 0-20, rotation from frames 20-40 but nothing from frames 40-60
The presence of the rotation strip between 20-40 prevents the 2nd part of the translation from occuring.
In the NLA right panel, I've tried all the various Extrapolation combinations for all 3 NLA strips.
What am I doing wrong here here?
Blender v2.83.3 on Linux