Replying to myself because I’m past the editing window:
It looks like this recent thread has all of the info I needed (I had read through it but it didn’t really sink in, apparently): Help creating a strict snap that uses shared memory
The important thing is that core20 does indeed install everything in /usr/local instead of /usr or /, so if you use the snapcraft-preload part, you need to add another line to set the prefix to match the older standard:
plugin: cmake
cmake-parameters:
- -DCMAKE_INSTALL_PREFIX=/usr