Problem started suddenly and seems to be not related to any change that happened in code around its first occurance.
We have automated CI workflow that prepares RC. At first every second build worked. Now I had to rebuild RC 7 times to get app that is not crashing. After investigating it is clear that there are no config values in resources, ergo plugin is not generating values from json config file. Basically rebuilding same code many times makes it work, at some point.
We had recently changed dependency injection in app from dagger components to hilt, it might be the reason of some kind of race or shared resources during build time.
It is also problematic to work around. I've prepared resource files with all values in order to manually add them in build process instead of generating with plugin. Now, because we also use crashlytics, I cannot remove google services plugin as crashlytics is checking for google services tasks in gradle. I cannot remove unused json file as plugin will crash because of lack of config file. Plugin also (based on docs https://developers.google.com/android/guides/google-services-plugin) adds some dependencies to main module, but I wasn't able to find anything in :app:dependencies so maybe docs are outdated.
I am not able to provide any project for reproduction as it only happens in commercial project. I understand it makes the problem hard to resolve in such case but maybe other people has it also.
AGP: 7.2.0-beta02
Google Services plugin: 4.3.10
Hilt: 2.41
EDIT: I've resolved symptoms by creating gradle module for each build type we have, and each module contains only res/values.xml which I've copied from app/build/generated/res/google-services/*. This way required keys are always available in resources, as we do not often (hardly ever) change json file with config. I am still trying to investigate builds with --scan option but I cannot reproduce it with scan, it only happens without it.