Confusion about aggregation results

I am a bit confused by the result I am seeing from ‘min’ or ‘min_over_time’

For example I have metric ‘up’ for the status of an exporter target.

up{instance="target"}

The result is '0'

This is expected, the target is down.

Next is where it goes wrong…

min_over_time(up{instance="target"}[1h])

the result is '1'

I also tried

min(up{instance="target"})

but this also comes back as '1'

Where is it getting ‘1’ from, especially as a minimum?