Ethernet Shield 2, Arduino Mega SPI conflicts

I have a genuine Arduino Ethernet shield 2 with SD card using the W5500 chip and a genuine Arduino Mega 2560. I have multiple SPI devices. If I connect the SPI data lines, I lose the ability to communicate via the Ethernet. The board won't respond to a ping etc... If I don't connect the data lines, I can ping the board and the SD card read/write is fine. I've been reading about various SPI conflicts and that bugs in the libraries fail to deselect the SD or Ethernet functions and that one has to explicitly deselect those functions, but some of these posts date back to ~10 years. As of 2021, is there an actual fix to this problem? What is that fix?

what other SPI devices?

Adafruit MAX31865 temperature sensor boards. I've gotten some of them to work. The problem may be in the sensor boards and not the Arduino. Still, I'd like to know if the problems I've been reading about with the Ethernet shield still exists.

there are no problems with W5500 Ethernet shields

I suppose that you are aware that each SPI device needs it's own chip select line?

Have you checked the schematics to see if the boards use a buffer chip that does not release the MISO line when the board is deselected; that's often the problem with cheap SD modules (not saying you're using those).