I wouldn’t say that “LXD is very tightly tied to snapd”. In fact, it’s technically not tight to it at all, meaning that you can use LXD without snapd with no problem. Some distributions ship packages of LXD that don’t require snapd.
If you want, you can compile LXD from source and deploy it however you want (for example using a systemd unit).
All that being said, if you are talking about using LXD on Ubuntu, the only deployment mode that the LXD team supports right now is with snapd. You can of course create a personal PPA with non-official LXD packages, if you want.