One way to accomplish this (multiple externally available servers sharing a single public IP) is to have a “primary” server (i.e. the one that is actually externally available) and proxy the other servers off of it. Essentially all traffic goes from your router to the primary server, and in /etc/apache2/sites-enabled/000-default.conf
on that device you specify rules to redirect traffic for the second domain to the other device.
At this point in our home I have four separate websites on four separate devices (all sharing the same public IP), and the Freedombox proxies traffic to each device as it comes in–it is the only device exposed directly to the internet. The first time I figured out how to get this set up was here: [SOLVED] Apache Reverse Proxy Setup Virtual Host - #5 by BluishHumility