Yes you are right regarding the function of the preloader. The reason you need to update them (for example, DE10 Nano's preloader is stored in the SD Card, you need to update the content of the SD Card to give it a new preloader) is because the default preloader that ships from Terasic is configured to set the UART pins to the HPS, and not to the FPGA world
To generate the preloader, refer to here:
https://rocketboards.org/foswiki/documentation/gsrdpreloader In short, the bsp-editor takes the information from Qsys (for example, the pin muxing information) and generates a project that you can compile (run Make) and
To update the SD Card, follow the instruction here (you will need a Linux machine, or a virtual machine running Linux)
https://rocketboards.org/foswiki/documentation/gsrdsdcard