In the pre-snap days I had LXD installed and it was using /etc/subuid for the default of idmap. Since I upgraded to Ubuntu 20.04 and thus using LXD from snap it does not use that anymore.
It now maps to something like lxc.idmap = u 0 1000000 65535, I think.
That’s because there’s no special logic for that in LXD.
It’s simply that the view of /etc from within a snap does not include subuid and subgid, so the snap therefore uses the fallback hardcoded range.
It would better to make a note somewhere, because right now all available documentation and discussions describe the use of /etc/subuid. Nowhere is a mention that this is not valid for snap (which is now the default for Ubuntu).
What I also couldn’t find is the proper command to modify the idmap. What I end up doing was something like this:
# lxc config set csrv28 volatile.idmap.next '[{"Isuid":true,"Isgid":false,"Hostid":624288,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":624288,"Nsid":0,"Maprange":1000000000}]'