1. I guess the MCUXpresso toolchain build/linker created the SECTIONS based on the "split" I did on the Flash 512KB memory.
Correct. MCUXpresso automatically creates all the sections for you, based on your memory configuration
2. Do you know why the builder put ".rodata." label within my 4KB Flash2?
MCUXpresso automatically creates tex and rodata sections for each flash regions defined in your memory configuration. If you do not have any rodata explicitly placed in that section, it will be empty.
3. And if I understood your statement above where application code will not go over or exceed 508KB, thanks to the split-up of Flash into 508KB and 4KB. Both are still labeled as "text_" though.
Correct. Again unless you specifically place code into the 'split' 4k section, the tools will not place code into it. MCUXpresso will only (automatically) place code into the FIRST flash section.
4. Do you know if the builder will actually "complain" & post an error if the application code grew more than 508KB?
Yes it will. You will get a build error and will the axf file will not be generated.
5. Is that what you are saying is the ADVANTAGE of splitting it up in the project's MCU property/settings?
Correct.
6. But effective only within MCUXpresso IDE builds though, correct?
I'm not sure what you mean here. The linker script is created and so will happen anywhere that linker script is used (via the command line build, for example)