Dear Mr. Abel,
I am using the 4.14.78_1.0.0 Release, and I looked in it to get the answers for your questions.
- Is it right in understanding that the ethaddr variable of U-Boot conveys the MAC address to Linux kernel?
Yes, the ethaddr variable of U-boot conveys the Mac address to Linux
- Is there some kind of a CONFIG flag that needs to be set so that the Uboot's ethaddr variable reads the address from the fuses?
In case a valid MAC address is programmed through the fuses, Uboot’s ethaddr variable reads it by default from fuses.
Below is the fuse map for MAC address from the reference manual of i.MX8QXP/DXP :

Please note that writing fuses is an irreversible one time operation for all the 32 bits of a FUSE ROW.
- Is there some change in device tree to be made?
No changes need to be done in device tree, as U-boot is the one doing the fixups according to the configuration in : common/fdt_support.c