template_redirect() doesn’t seem to be working

I’m assuming you’ve looked here: https://wphierarchy.com/

The blog page should be home.php and the home page (by default) picks up front-page.php (unless, of course, you have it set manually, as you do).

I’m not a theming expert, but it may have something to do with your file structure. Take a look at the blankslate theme (https://wordpress.org/themes/blankslate/) which is the most bare-bones theme ever that also uses the most standard way of laying out a basic theme. I use it all the time as a starting point. It might be good to install that and then replace your theme files into it as a sort of guide. Make sure to rename the theme of course, so it’s not called ‘blankslate’ on your install.