Sorry to discover you are battling multi-room audio sync issues. This issue is very annoying and difficult to remove.
In my experience multi-speaker, multi-amplifier syncing works very well using Squeezebox server (LMS) and squeezebox clients. The older original Squeezebox receivers in our house (3 units) and squeezelite running on a Raspberry-Pi3b with a HiFiBerry Amp2 stacked on top, can play songs from the LMS server all day staying perfectly in sync. It is amazing technology, to stay in sync, which I did not appreciate until I tried other music server and receiver options: DLNA digital speakers and others which drifted in an out of sync as unfortunately you are describing. Our LMS server is hosted by the same Raspberry-Pi3b mated to the HiFiBerry Amp2. The max2play OS runs squeezelite locally directing audio output thru the HiFiBerry Amp2. My Squeezeboxes are on ethernet, but thru multiple switches. For a while one was connected to the LMS via WiFi. Didn’t matter, they all stayed in sync regardless of digital transmission paths.
When experimenting with (6) Insignia brand, model# CSPGASP2 DLNA digital speakers (WiFi links only) I believe the fault of not staying in sync for them was due to poor design of the server software and not the technology in the speakers themselves (a german company I believe designed the WiFi speakers). These speakers had chips with „stay-in-sync-reference-timing-clocks“ built in the speaker electronics. Some music server software knows how to use this shared reference clock technology to sync the speakers and other servers do not. Squeezebox server (LMS) seems to enable it’s own receivers to use a shared reference timing clock, so the audio always stays synced.
My point in mentioning this is to suggest keeping multi-room speakers „in-sync“ is not an accident due to the absence of transmission delay, variable path effects …etc. In-sync audio across multiple digital delivery paths is a deliberate and specific function enabled by the architecture of the music server software communicating and re-characterizing, during playback, the amount of delay injected to each receiver channel to KEEP everything in sync for our benefit. This is active control by the server utilizing feedback from the receiver/speakers. Perhaps some receivers also utilize electronic circuitry built into the receiver/amplifiers that make accepting synchronization control instructions from different server software possible, not just one proprietary version (LMS, Sonos) … don’t know for sure.
I do know Squeezebox receivers have this built-in. Change the signal path, they still stay in sync. The Insignia speakers also have a „stay-in-sync-reference-clock“ design, but the truly awful Google Home app that must be used to initially configure Insignia speakers could not broadcast an audio stream to keep them all in sync. However, under the right conditions, in certain modes, I could get my Squeezebox server (LMS) with a DLNA plugin to use „stay-in-sync-ref-signal“ with the Insignia speakers and all (6) stayed in sync throughout our house. That was very nice.
Just suggestions as to how to approach the issue. Hope it helps your experiments ultimately be successful.