First of all I’m not an EXPERT but let me try to help you understand…
But, from what I understand…Firmware is also considered a type of application that is meant to control the hardware component directly (e.g. Photon/Core). The applications that we write for the Photon/Core can be considered as firmware, because in the end (after it is being compiled and flashed) it instructs the micro-controller to do what we want it to do. So whenever we are talking about low level code that speaks to a piece of hardware directly, we refer to it as firmware.
As far as the Particle released firmware (e.g. version 4.5) goes, this is the translator that converts our own code we write, into machine language that controls the Photon/Core. So again we are dealing with a piece of code that interacts with the micro-controller at the low-level, thus it’s also called a firmware.
Hope this helps