Thanks Jesus, I apologize for the delay, I was out of town for a week. I have uploaded a video of the behavior here:
https://youtu.be/_ZYV2otv8go
It turns out that the same thing happens in regular loop record too. I initially didn't check loop record because I always loop record MIDI in dynamic transport. It doesn't happen in non-loop recording.
The problem is that punching into record while looping causes a retrospective recording to take place.
(It wasn't clearly stated in the video, but shift-option-Z is the command for Retrospective Record)