Secondly this statement: <?php if ( ! is_front_page() ) : ?> is preventing the code from being execute on the front page, maybe what you are looking for is: <?php if ( is_front_page() ) : ?> so it only executes on the front page?
Idiot move.. thanks leo sorry. This way seems to fit the bill for what I am looking to accomplish I only needed logo swap for homepage. if I did the sticky logo swap then I would have had to change my mobile header logo in customizer sitewide swap notstuck mobile header logo to make it white right? I’m looking to do the way u say but this works perfect is it better code practices?