get_page_template returning nothing

Have you tried is_front_page()? It should do what you’re looking to do.

Unless you’ve set up front-page.php with the Page Template commented header syntax that identifies the file is a Page Template, I don’t think you can use the is_page_template() or get_page_template() functions.

As for the category page, if you are loading category-foo.php, then aren’t you already aware of what category template you are on and therefore do not need a conditional? Maybe I don’t understand the context of the second part to the question.