In "debugging" one of my projects I discovered that the Transpose function in pattern regions does not work correctly. Specifically, a pattern region that is first duplicated, then transposed, will appear to have the correctly transposed pitch values but when played back, the incorrect notes sound and the incorrect note is clearly visible being played on the on-screen keyboard of such plugins as have them.
Furthermore, if the transposed pattern region is converted to a MIDI region the incorrect MIDI pitch values are shown.
Steps to reproduce
Open Logic and create a new blank Project
Create an empty track and assign an Instrument whose plugin window has a visible keyboard
Create an empty pattern region on the track
Populate the pattern region with notes. In this case we will choose a repeated Middle C
Play the pattern region and observe correct behavior
Duplicate the pattern region
Use the pattern region's menu functions (Functions > Transpose -1 Semitone) or keyboard equivalent (Option + down arrow) to transpose the pattern down three semitones, ostensibly to A
Observe that the former middle C values are now A below Middle C and monitor as such in the pattern editor (if you click to unset and reset them, A sounds)
Play the region. Observe that the note played is G# below Middle C (by ear or reference to another instrument).
Open the Plugin window for the instrument and play the pattern. Observe the instrument's G# key being animated
Select both pattern regions and choose Convert > Convert to MIDI region
Observe that the transposed region's notes have a MIDI pitch value of G# on the MIDI region's piano roll view
I have tested this on both of my Logic instances (MBP M1Pro, iMac Retina 5K) and the behavior is the same. I have reported this, inasmuch as one is able, to Apple via their Feedback. I would be very grateful if anyone else has the patience to repeat these tests and tell me what you see?
Simon