I can understand your logic in avoiding dependence on the ethernet network availability.
I can't say if a Modbus "bus" is more reliable, I have no experience there.
I am planning 5 or 6 30CH Waveshare Relay banks, as I have many devices to control, besides lights, and Loxone relays, while elegant, would consume precious panel space and wallet €€€. :-)
I have tested a few in my test bench very successfully until now, with the Waveshare SW stack. They seem extremely quick to react.
I have found out that commands for all channels above 8 (9-30) are not very well documented in the Waveshare wiki, particularly in the way that the checksum is calculated (CHKSUM16 MODBUS), but my ChkSum theory is many years behind me so I had to get a refresher course from DeepSeek R1. :-)
Next step is to setup the virtual outputs properly in Loxone Config, and try to get a graphical representation in the app that is easy on the eye.
Ricardo