How to set root device size when creating new instance?

Ah OK its likely the use of -s which is causing you to hit a bug, fixed in LXD 5.9.

See:

https://github.com/lxc/lxd/pull/11158

When you use the -s flag the lxc command replaces the profile’s root disk with an instance level root disk that uses the specified storage pool.

However there was a bug in the recently added -d flag that would not work properly when combined with the -s flag, in that it would restore the original profile root disk storage pool, and then override the size.

So I can only assume that the storage pool from the profile isn’t big enough.

Anyway, I hit this exact issue and fixed it in LXD 5.9.

Its in candidate at the moment, but using sudo snap refresh lxd --channel=latest/candidate will get it.