Show individually the results of querying (in the prometheus console, non-graphical view)
health_check{job="platform-events-db", cluster="loco-prod"}
up{job="platform-events-db", cluster="loco-prod"}
Do they have exactly the same label sets? If not, you'll have to add on(...) or ignoring(...), or use group_left.
Also note: the query you have shown will only "fill in the gaps" for health_check if the scrape failed entirely, i.e. when up == 0. If "up" was 1, but health_check was missing, it won't fill in the gap. If that's the case, you could try:
health_check{...} or up{...} * 0
Final note: I would be *very wary* about doing this sort of data manipulation. There is a critical difference between a health check failing, and a health check not running at all (or its result being lost). If you confuse these two things, people may draw the wrong conclusions from the data.