I usually use iPhone in the English language. However, I find the iPhone calendar app includes a US holiday calendar subscribed while I am not in US and displaying US holidays in the iPhone calendar is no use and kind of annoying to me.
After some investigation, I find the way to set the iPhone holiday calendar to the local or specific one. The reason why the "US holiday" calendar appears is that the region in the iPhone is set to "United States". The key to choose the iPhone holiday calendar is to choose the region.
Now, let’s look at how to change the iPhone holiday calendar.
In the "Settings" -> "General" -> "Language & Region", you can see my original region is "United States".
To set to another one, I just choose the desired region. In this example, I use "Hong Kong".
After selecting the region, go back to the iPhone calendar app and open the "Calendars". Pull it down and it will refresh the calendars. After the iPhone calendars are refreshed, the desired local iPhone holiday calendar will appear. You can see now it is "HK Holidays" subscribed.
The only drawback I found is that the date and time format is also changed to the ones used in the selected region as the iPhone holiday calendar.