The reason Ardunino is using C(++) and not any other language is not because they love C++, but rather that this is just the native language for those micro controllers. The ESP32 is programmed via the Espressif IDF, which provides the C libraries and APIs and a C compiler. So to use this in FPC, you do not only need an Xtensa compiler taget, you also need bindings to FreeRTOS and the IDF SDK. There is
work on that, but it's from what I can see still very experimental.
And only when this is available you can start to create high level libraries like the for digital IO and stuff like that. And ESP32 is quite new, unlike AVR which was developed in 1996, and was the most widely used microcontroller for amateurs, while ESP32 is from 2016 and taking some time to take off in the amateur space with more and more integration into Arduino.
Additionally, and this might be that I'm just the wrong audience for this (I don't see any Advantage in using the Arduino software and libraries at all, I usually use the platform SDKs like Espressif IDF directly), but all this effort for what? When I look at the source code of my 3D scanner which I built recently, the ESP32 code is <200 LoC all of the major functionality I do on the evaluation software running on a full on PC (or Raspi) which I can write in any language I want. Like I can understand why you wouldn't want to write software thats thousands of lines of code in C, but Microcontroller software is so limited, for a few hundred lines of code it doesn't really matter what language to use. So I just take the thing thats native to the platform, so I get the best performance and compatibility