This confused me for ages before I finally found the setting, kinda hidden, which fixes things.
First make sure you are viewing just 1 player:

Then near the bottom right of the player area, click the "burger" menu button (three horizontal lines):

And in the menu that pops up, turn "Active Loop Playback" on!

This seems to be a "player" setting that applies to any loaded track.
The setting is documented by Pioneer, but it's kinda hard to find if you don't know where to look. This forum post made me realise that it was hiding somewhere (so, thanks to that author):
https://forums.pioneerdj.com/hc/en-us/community/posts/360050812652-BUG-in-v-5-6-1-Export-mode-Set-active-loop-does-not-work
Here are some other forum posts I found where people report that active loop is broken. My guess is that it's the same problem. It's surprising to me that Pulse hasn't asked them to check this setting:
https://forums.pioneerdj.com/hc/en-us/community/posts/360055606812-Active-Loop-Not-Working
https://forums.pioneerdj.com/hc/en-us/community/posts/360054523471-Upgraded-to-5-7-0-and-the-active-loop-doesn-t-seem-to-automatically-loop-any-more-
Pulse, do you think this might have been caused by new rekordbox installs since some particular version defaulting to having this setting *off* instead of on?
Here's a description of the problem to help anyone else searching for it find this thread:
If you play a track with an active loop, rekordbox "ignores" the loop. (It continues playing the track past the loop end point.)
The loops are definitely active (the loop icon is red, not orange), and playback is fine on CDJ hardware when the tracks are exported to a USB device.
Thanks.