Why does wp_customizer default values do not apply when theme is installed for the first time?

No, there is no automatic way to save all defaults, and for good reason. It avoids cluttering the database with unnecessary values, and allows themes to actually change their defaults down the line.
Instead of trying to save all defaults, just change all your calls to get_theme_mod to include the default value as the 2nd parameter. That is how it is intended to be used 🙂