With DHCP lease scope 192.168.0.100-200 the reserved address has to be inside this scope and not 192.168.0.2. The reserved address is still a lease. This range below 100 can be used for clients with static IP address set on the client. This is the correct way to do it. For no user control clients performing auto configuration - no guarantees.
Hmmm... It sounds like you're saying that when using dnsmasq as the DHCP server, it's a general requirement that all manually assigned IP address reservations must be within the defined IP pool range. If that's indeed what you're saying, it would be an incorrect statement. Perhaps it's a recommended practice, but certainly not a requirement when using dnsmasq as a DHCP server.
IOW, for dnsmasq, there is no technical constraint or requirement that says IP address reservations must be within the defined network IP address pool range.
Screenshots from the dnsmasq man page:
Essentially, the dnsmasq documentation says that IP address reservations (made via
dhcp-host directives) must fall within the valid, usable range defined by the subnet mask assigned to the network interface, but they do not need to be within the range defined by the IP address pool (i.e. the start/end addresses) set via the
dhcp-range directive.
Now, having said that, it may be possible that the AiMesh module is interfering with the dnsmasq-allocated leases, and if so, that would be a limitation/constraint/issue/bug/feature with AiMesh,
not with dnsmasq itself.
Just my 2 cents.