the vast majority of snap confinement is done in the kernel, using various kernel security features, so you would only have consistent behaviour if all distros would use the same kernel version with the same configuration …
the snap tool itself provides tooling to check the confinement and sandboxing though:
debian does not have all the kernel features by default, so the confinement works slightly degraded, which is why you will likely be able to do stuff there that isnt allowed under full confinement …
does your app have the network plug set in snapcraft.yaml ?
(also, for docker access you might need the docker-support interface (though i’m not sure, i personally use lxd if i need a container … perhaps @ijohnson has a hint for that one))
In terms of accessing the docker socket from your application, if you have strict confinement for example on Ubuntu, you need to use plugs: [docker] in your snap app, and then connect that plug to the slot that the docker snap exposes. You can’t communicate with a non-snapped docker from inside a strict snap. After doing this you will need to request permission via the #store-requests category for usage of the docker interface. See Request use of docker interface [Was: Classic confinement request: Dunner] for an example of this sort of request.
Also it appears that the tidal snap doesn’t declare any interfaces, so you will want to at least declare some interface plugs like network, etc. for your snap to work on Ubuntu or other distros which do have full confinement.