Yes that is expected unfortunately, the cloud images that snapcraft pulls for lxd are not available on non-amd64 architectures, however you can still launch a container with lxd with the ubuntu:18.04
image and then run snapcraft --destructive-mode
inside that container. Like this:
$ lxc launch ubuntu:18.04
Creating the container
Container name is: poetic-turkey
Starting poetic-turkey
$ lxc shell poetic-turkey
mesg: ttyname failed: No such device
root@poetic-turkey:~/my-snap# sudo snap install snapcraft --classic
2019-09-04T18:11:19Z INFO Waiting for restart...
snapcraft 3.7.2 from Canonical✓ installed
root@poetic-turkey:~# mkdir my-snap && cd my-snap
root@poetic-turkey:~/my-snap# snapcraft init
Created snap/snapcraft.yaml.
Go to https://docs.snapcraft.io/the-snapcraft-format/8337 for more information about the snapcraft.yaml format.
root@poetic-turkey:~/my-snap# snapcraft --destructive-mode
snapd is not logged in, snap install commands will use sudo
core18 20190827 from Canonical✓ installed
Pulling my-part
Building my-part
Staging my-part
Priming my-part
Snapping 'my-snap-name' |
Snapped my-snap-name_0.1_armhf.snap
root@poetic-turkey:~/my-snap#
This isn’t ideal, but as per Call for testing: snapcraft 3.4 we will have to wait until snapcraft switches what lxd images it uses in order for non-amd64 architectures to be supported with snapcraft managed lxd directly.