You can still use Arduino - just don't use libraries and do your stuff at register level
MCUXpresso uses libraries, too.
If you still want to use MCUXpresso, I think you need to look at bootdata.c and the linker script in the teensy 4 core.
Agreed It's a 80ies Editor, not a IDE.
Have you looked at Platformio?
Looks like you're blinking the LEDs with busy loop delays.
Yes, you're right. This was just to get something working at all, though. I've been working on this some more and I got the timers working and had a more suitable LED solution at one point. Then I attempted to get the USB stuff working and I invested a lot of time in it. Without proper debugging tools it's hard, though, and at some point I was just thinking: why trying to recreate all the great stuff Paul has already done.. I mean, I learned a lot along the way but eventually I switched back to Arduino and PlatformIO. It's perfectly suitable for my needs and there's enough low-level work left for me in other parts of my projects.
Were you using a USB protocol analyzer or some other way to view the USB tokens & packets?
I kinda do hope a little to see any fresh new ideas or perspectives on using the USB hardware