WiFI SPI/I2C connections?

Let's assume a master node (esp32) where I need to expand the available GPIO ports.

One solution would be to use multiple "GPIO expanders" using I2C communication.

Another solution would be to use multiple esp32/esp8266 connected each other with I2C or SPI (but honestly i don't see advantages in this, you need, I think, one firmware on each device or the "master" device will be able to access remote GPIOs even on unconfigured firmwares ?)

Any other solution ? Any package allowing I2C/SPI-like communication between nodes, via WiFI ? Would be much better for cabling and PCBs

Other than that, which GPIO expander would you suggest ?
Are tehere any limits on the number of usable ports on a esp8266/esp32 ? In example, can I put 24 220v relays, 10 temperature sensors and so on, by using multiple GPIO expander on a single nodemcu ?

Other than that, which GPIO expander would you suggest

as my esp's work perfectly fine with an I2C LCD, I guess they will be working with an PCF8574 as GPIO expander as well.

Also the SX1507 is a good alternative, especially if you need GPIOs for LEDs

Any advantage in using expanders over wiring MCU via I2C? (in example, usually, split machanical keyboards use 2 promicro connected with 4 wires. Any advantage in using two controllers?)

If I understoo properly, SPI wiring is SCK, MOSI, MISO joined together on each device sharing just one pin on the master, and 1 PIN for SS on each node and each master, right ?

Any WiFi workaround ?