Does Fly prioritize cold starts or distance?

If I have an app on a scale-to-zero Fly Machine, and an instance in Region X is currently running and an instance in Region Y is currently stopped, and a request comes in from someone closer to Y than X, does Fly route that to Y (which incurs the 300ms or so of boot time) or to X (which incurs however much latency that extra distance takes)?

I think a cool approach would be to route that request to X (on the assumption that distance latency is less than Machine start time) and to also simultaneously start the instance in Y (on the assumption that more requests from there will probably soon follow).