Dave
I experimented and identified how to get the stick working.
This is the line that is causing problems:
phy->USBPHY_TX = ((phy->USBPHY_TX & ~USBPHY_TX_DCAL_VALUE) | 0x0c); // trim the nominal 17.78mA current source for the high speed drivers (USB_DP and USB_DM) (taken from NXP reference)
since it causes the value 0x1006060f to be written.
It works when I change the line to
phy->USBPHY_TX = ((phy->USBPHY_TX & ~USBPHY_TX_DCAL_MASK) | 0x0c);
which then sets 0x1006060c.
Although I never had an issue with any other device the D_CAL resistor trimming code value of 0xf (+25%)

doesn't allow bus operation with this particular stick.
Notice that I had an error in the code since the masking of the field was not correct since it was masking with 0xc instead of with 0xf but, as noted, this difficulty was never experienced with any other device and so was "hidden".
However, reading the user's manual in more detail I find this (for the MIMXRT1024):

which in fact 'recommends' the use of 0x10000007 and not 0x1006060c as used by the SDK and also your project code. Those values are, according to this, potentially not certifiable.
I then checked in the MIMXRT1060 user's manual and find that other values are recommended there:

Due to this I tried the recommended values on the MIMXRT1024EVK and they worked OK.
This means that I have changed my own code base to set the recommended values, depending on processor type:
phy->USBPHY_TX = (USBPHY_TX_EDGECTRL_VALUE | USBPHY_TX_RSVD1_VALUE | USBPHY_TX_TXCAL45DP_VALUE | USBPHY_TX_TXCAL45DN_VALUE | USBPHY_TX_DCAL_VALUE);
where
#if (defined iMX_RT101X || defined iMX_RT102X || defined iMX_RT1064)
#define USBPHY_TX_DCAL_VALUE 0x00000007 // recommended certifiable values for J/K levels
#define USBPHY_TX_TXCAL45DN_VALUE 0x00000000
#define USBPHY_TX_TXCAL45DP_VALUE 0x00000000
#define USBPHY_TX_RSVD1_VALUE 0x00000000
#elif (defined iMX_RT104X || defined iMX_RT105X || defined iMX_RT106X)
#define USBPHY_TX_DCAL_VALUE 0x00000008 // recommended certifiable values for J/K levels
#define USBPHY_TX_TXCAL45DN_VALUE 0x00000200
#define USBPHY_TX_TXCAL45DP_VALUE 0x00020000
#define USBPHY_TX_RSVD1_VALUE 0x00000000
#else // original NXP SDK values
#define USBPHY_TX_DCAL_VALUE 0x0000000c
#define USBPHY_TX_TXCAL45DN_VALUE 0x00000600
#define USBPHY_TX_TXCAL45DP_VALUE 0x00060000
#define USBPHY_TX_RSVD1_VALUE 0x00000000
#endif
You can simply set
phy->USBPHY_TX = 0x10000007;
to verify until I have updated the code in the repo.
Regards
Mark