Thank you for reporting the issues, I'll change the colors of the backgrounds when in light mode so the UI will be readable.
Also you were right about the the code snippet, this is what it should've been from the start:
var cell = _grid.Find(t => t.Position == tiles[i].Position); if (cell != null) _grid[_grid.IndexOf(cell)] = tiles[i]; if (cell == null) _grid.Add(tiles[i]);
You unintentionally reported another bug with this, as this was the reason why pasting and moving things over already placed tiles didn't behave as supposed to have. So thanks for reporting this as well.