How to evaluate dolfinx Function when some points aren't on the current processor?

No.

You need to consider what information each processor has.

If you use MPI.COMM_WORLD as input communicator to the mesh creation, you get a mesh that is partitioned. This means that the cells, and corresponding dofmaps, functions etc also are distributed.

See for instance
https://jsdokken.com/dolfinx_docs/meshes.html
or
Parallel Computations with Dolfinx using MPI — MPI tutorial (You should Also consider the intro pages to mpi in the latter link).

Ive also covered something similar in Gather solutions in parallel in FEniCSX - #2 by dokken