You can see here that LXD parsed the DHCP range in this particular way (wrong way).
Which means that ipv4.dhcp.ranges would have some difference way to specify the range.
Comma separated list of IP ranges to use for DHCP (FIRST-LAST format)
So, the documentation is not clear. It talks about commad-separated list of IP ranges, but in reality it should be as described in the parenthesis (i.e. ipv4.dhcp.ranges=192.168.2.150-192.168.2.200) instead.
Can you please verify that you indeed need to use a “-” instead?
Thanks @simos for the clarification. In the documentation “comma separated list of IP ranges” is not very clear, or maybe I commented incorrectly.
The whole command became like that.