OK so as odd as this sounds it is now working and here is the sequence i followed.
1. bind site to default ip address, no specific binding, proceed through install wizard, browse to the site.
2. go back into IIS, add a binding for the IP in the website and do not set a hostname, restart IIS, verified browsing to fqdn and IP address both internal and external from webserver
3. head back to IIS, add alternate header to IP binding, change original test.domain.com binding to the specific IP address desired, restart website and app pool.
4. verfied browsing via both fqdns from internal and external
5. stand up secondary site and just assign IP address above and set hostname, works without a hitch.
It almost looks like IIS had to make a binding just with the IP to learn what it needed to use it for before it could actually start routing traffic accordingly. I am going to add another IP address this afternoon and see if i have to follow the same sequence or if everything will work properly now.