As far as I know if you create an area with a list of tiles, it tries to create a boundary with them.
Like if you gives tile in a circle, it will draw imaginary lines in between them and every tile that falls in there counts as in the area. So you will get very strange behaviour on how you use it
If you give 6 tiles in an odd shape, I believe it does something like this. Correct me if I'm wrong @Patrick
Try to use this code to get an ash from your list
private GroundItem getClosestAshesByTiles(List<Position> tiles) {
return script.getGroundItems().closest(groundItem -> groundItem!= null && groundItem.getName().equals("Ashes") && tiles.contains(groundItem.getPosition()));
}