Potential workaround for kernel not supporting SquashFS with XZ compression

A few times now I’ve encountered systems with kernels that have SquashFS but do not support XZ compression (CONFIG_SQUASHFS_XZ is N or unset). This leads to an error like

$ sudo snap install hello-world
error: system does not fully support snapd: cannot mount squashfs image using "squashfs": mount:
       /tmp/sanity-mountpoint-800880629: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error.

With dmesg showing

Filesystem uses "xz" compression. This is not supported

Are there any options for getting snaps to work on these systems, short of rebuilding the full kernel?

Searching online doesn’t turn up anything very useful. A question on StackExchange has people talking about building squashfs-tools from source, but presumably that’s irrelevant since the kernel doesn’t use those tools to mount the image. (I tried anyway…as expected didn’t make a difference).

My latest attempt involved building squashfs.ko as a kernel module with the XZ option turned on. But the kernel I’m building for already has SquashFS support built in, so attempting to load my custom module doesn’t do anything (not even any errors from modprobe). I haven’t been able to find definitive resources on this, but I suspect that replacing built-in functionality with a module is simply not a thing.

This thread:

suggests using squashfuse, but after installing it it seems that the system still tries to mount via the kernel, and fails with the same error (and never tries to use squashfuse).

So I can’t think of an alternative to building a custom kernel. Am I missing anything else that I could try?