Hi Tony,
1. Yes, normal UART is the part of chip internal hardware, but the ROM bootloader just use the LPUART. Because the ROM bootloader already fixed in the chip, customer just need to use the commander to call the according interface which already defined in the reference manual, and customer can't change the ROM bootloader which is not defined.

So, if you don't want to use the LPUART, and want to use other UART module, you need to write the flash bootloader code, and use the normal uart module as your application code download interface, then put it into the chip's flash. In KBOOT 2.0, there has no flash bootloader for KL43, if you want to use the flash bootloader, you can refer to KL25's flash bootloader.
2. flash bootloader can be wrote by the customer, you can refer to KL25 flashbootloader :
NXP_Kinetis_Bootloader_2_0_0\targets\MKL25Z4
The flash bootloader needs to be implemented based on the according chip, because it is just one code, and the function is to update the application code, and execute the application code.
3. ROM bootloader don't need other on chip source code except the application code.
If you want to download the application code, you can use the KBOOT2.0 given PC tools. More details, please refer to
Getting Started with the Kinetis ROM Bootloader.pdf which can be found in: NXP_Kinetis_Bootloader_2_0_0\NXP_Kinetis_Bootloader_2_0_0\doc
Wish it helps you, if you still have question, please contact me!
Have a great day,
Jingjing
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------