DHCP and dnsmasq - what happened?

See Using static IPs with LXD on how to set a specific IP to a container on a managed network interface in LXD.

In practice, these dynamically provided IP address tend not to change. Obviously, there is no guarantee that LXD’s dnsmasq DHCP server will be giving out the same IP address so in any case it’s good to set specific IP addresses.

Having said that, it’s good that you talk more about your use-case.
I am not sure how well is Apache suited for load-balancing. You may want to try with HAProxy, and here’s a guide. Note that you can also put the load-balancer in a container.

Are your websites dynamic (requiring a DB)? Do you have a special requirement so that the DBs are synced between the two VMs?