When calling to_bounds, using new bounds that are fully contained within the current raster bounds (i.e., performing a crop), the resulting raster contains only NaN values. I would expect the output raster to retain the data from the overlapping area, effectively cropping to the new bounds, rather than returning all-NaN.
A test needs to be written for this case, and it must be handled properly by to_bounds