Ubuntu same as you I tried assigning an IP to one of the vhosts (example2.com) and it now overrides the default vhost. Seems this is just how Apache works. A * cannot override an IP address.
$ sudo apachectl -S VirtualHost configuration: 192.168.1.143:80 example2.com (/etc/apache2/sites-enabled/example2.com.conf:1) *:80 is a NameVirtualHost default server www1.swass (/etc/apache2/sites-enabled/000-default.conf:1) port 80 namevhost www1.swass (/etc/apache2/sites-enabled/000-default.conf:1) port 80 namevhost example.com (/etc/apache2/sites-enabled/example.com.conf:1) wild alias *.example.com
Best of luck