radius_neighbors incorrect behavior

### Describe the bug

The `radius_neighbors` function is intended to return neighbors within a given distance.  However, the following example seems to behave differently.

### Steps/Code to Reproduce

```python
import numpy as np
from sklearn.neighbors import NearestNeighbors

# Generate some sample data
X = np.array([[1, 2], [3, 4], [5, 6]])
Y = np.array([[2, 3], [4, 5], [6, 7], [8, 9]])

# Set the maximum distance
max_distance = 2

# Fit a NearestNeighbors model on X
nbrs = NearestNeighbors(n_neighbors=1, algorithm='ball_tree').fit(X)

# Find the indices of the points in Y that are within max_distance of X
distances, indices = nbrs.radius_neighbors(Y, radius=max_distance)

# Print the results
print("Neighbors returned by radius_neighbors:\n")
for i, x in enumerate(X):
    print("Points in Y that are within %f distance of point %s = %s" % (max_distance, X[i], Y[indices[i]]))

print("\n\nDistances returned by radius_neighbors:")
display(distances)    

print("\n\nEntry [i,j] is the distance from X[i] to Y[j]:")
display( sklearn.metrics.pairwise_distances(X,Y)   )
```

### Expected Results

The only point in Y that lies within distance 2 of X[i] is Y[i].  However, `radius_neighbors` returns multiple points for some elements of X.

### Actual Results

```
Neighbors returned by radius_neighbors:

Points in Y that are within 2.000000 distance of point [1 2] = [[2 3]
 [4 5]]
Points in Y that are within 2.000000 distance of point [3 4] = [[4 5]
 [6 7]]
Points in Y that are within 2.000000 distance of point [5 6] = [[6 7]]


Distances returned by radius_neighbors:
array([array([1.41421356, 1.41421356]), array([1.41421356, 1.41421356]),
       array([1.41421356]), array([], dtype=float64)], dtype=object)


Entry [i,j] is the actual distance from X[i] to Y[j]:]

array([[1.41421356, 4.24264069, 7.07106781, 9.89949494],
       [1.41421356, 1.41421356, 4.24264069, 7.07106781],
       [4.24264069, 1.41421356, 1.41421356, 4.24264069]])
```

### Versions

```shell
System:
    python: 3.9.16 (main, Jan 11 2023, 10:02:19)  [Clang 14.0.6 ]
executable: /opt/anaconda3/envs/oatr1/bin/python
   machine: macOS-10.16-x86_64-i386-64bit

Python dependencies:
      sklearn: 1.2.1
          pip: 22.3.1
   setuptools: 65.6.3
        numpy: 1.24.1
        scipy: 1.10.0
       Cython: None
       pandas: 2.0.0
   matplotlib: 3.7.0
       joblib: 1.2.0
threadpoolctl: 3.1.0

Built with OpenMP: True

threadpoolctl info:
       user_api: blas
   internal_api: openblas
         prefix: libopenblas
       filepath: /opt/anaconda3/envs/oatr1/lib/python3.9/site-packages/numpy/.dylibs/libopenblas64_.0.dylib
...
        version: 0.3.18
threading_layer: pthreads
   architecture: Haswell
    num_threads: 8
```
```

COMMENT:
Looks like this is actually the expected behavior -- I was transposing the roles of X and Y.  Calling `indices` returns

```
array([array([0, 1]), array([1, 2]), array([2]), array([], dtype=int64)],
      dtype=object)
```
which is correct when you understand that the output should return the radius neighbors in X of points in Y.

Labels: Bug, Needs Triage