The 'show_on_front' argument should only work if the front page is not paginated.
Make sure to return the default theme layout with our default filter on 'theme_mod_theme_layout' in case the user hasn't saved a layout in the DB yet.