I understand that to access SIM/eSE from an Android app we need to install Open Mobile API addon on Android Studio. However, is it true that it will not work on all NFC phones? For example, do some OEM limited access to SIM/eSE? Or are there phones where only custom firmware will work with Open Mobile API?
Also, is there a list of phones that support Open Mobile API by default?
That's correct. The phone needs to implement the Open Mobile API (by means of the smartcard system service) in order for your app to be able to use it. Not all devices implement this. It's mainly devices from Samsung, Sony, and HTC which support the Open Mobile API.
In addition to that restriction, you need the SE (UICC/eSE) set up to allow your application (this is handled by GlobalPlatform SE Access Control) to interact with the SE.
Finally, I'm not aware of any complete list (and ther probably is none). However, have a look at the question List of OMAPI supported devices to get some ideas on how to test devices and how to let Play Store generate a list for you.
You may also want to read our report Open Mobile API: Accessing the UICC on Android Devices to get some idea about how the Open Mobile API works.