I understand that snapd and snapcraft are supported on numerous non-ubuntu derived linux distros and so I assume that it should be possible to port/adapt snapd and snapcraft to a custom linux of an embedded device. Is this a fair assumption?
Yes, that’s right. Though I would recommend skipping snapcraft and instead going only for snapd. Snapd runs snap apps. Snapcraft builds snap apps using various snaps as substrate (multipass is one of them). and simply depends on snapd.
In case this helps you to get started, there is also a snapd package for Yocto right here: https://github.com/morphis/meta-snappy.
If you look at packaging snapd to your distribution please explore the possibility of using
packaging/snapd.mk inside the snapd source tree. It is currently only used by the SUSE package but it significantly simplifies the work required to produce a correct package.