They all could (and usually) coexist. However, not all organizations starts with OKR (at least as the framework should be used)
To explain all 3 playing together
Usually, Objective & Key Result or OKR comes first. It basically sets a plan for a business on quarterly basis )most commonly, although some companies may set different time frames), which starts with an Objective (what do you want to reach) and follows with Key Results (how do you know you reached it). Some OKR frameworks adds Initiatives or Steps (what do we need to do to reach the Objective)
Then we have KPI or Key Performance Indicators. These are metrics that we develop to measure the success of a project. For example, let's say that we have defined a successful value for a variable to be 100. We will use the KPI tools to define if that value has been reached. If this value is not reached, we need OKR to define a plan to reach this value.
Finally, ROI is just return on investment, which is just a variable you can set as KPI.
In summary, to answer all your questions at once (with some blunt simplification): start with a framework (OKR) and once the project starts its cycle, use a process or toolkit (KPI) to study the values of different variables, of which one of them can be ROI.
HEART it's an UX framework, as opposed to the frameworks above which are Business or Marketing frameworks and processes. While you can obviously set these business processes as part of UX measurements, they're different things.
To be clear: HEART measures the following:
(hence the acronym HEART)
You can use KPI on a HEART based process, but OKR is a very different story since the values you will require are of financial kind.
An example: using HEART, you can measure the usability of an app. You can define KPI values to be reached for usability if you want. If you don't reach the values, you can modify the app until you reach them.
However, in an OKR process you only define "we need an app to reach the objective"