Coreboot supports multiple payloads[1]. You can in fact run Coreboot without UEFI - for example by using a SeaBIOS or GRUB payload.
When you are running Coreboot, it is virtually the first thing that executes on the processor, probably after some burnt-on initialization code. At that point it can do whatever. I suspect most people using Coreboot are not using it to launch Tianocore, the UEFI payload, but I guess I don’t know.
The only logical reason I can see to need UEFI would be to load drivers and/or option ROMs that need a UEFI environment - but nothing stops you from implementing drivers/initialization yourself, reverse engineering notwithstanding.