First of all, great job on Chirpstack v4! It’s awesome!
For now I can work around this limitation, but I think that listing regions should be exposed in the future. Creating a device profile is exposed, and that requires setting the region. In my opinion there is inconsistency in the API if we are required to set region on device profile, but not able to list available regions.
I think these might be two different endpoints. The listing of regions in the internal service is to provide documentation within the UI. The format of these payloads could change any time. The endpoint that you are asking for could be a lot simpler, e.g. just an array with only the name and common-name.