Apache sending wrong SSL certificate on some connections / browsers

Do you have any sites still configured to use the self-signed cert? Dig through your virtualhosts, or just rename the self-signed cert's file and then see if apache will successfully restart, or whether it errors out trying to load that certificate.

As @HUB stated, you likely have success serving the correct certificate to clients support TLS SNI, but for clients that don't support it, they get the first certificate that Apache loaded for that port - which is the self-signed certificate.