Dont use prefabs for this. There is a much much faster way of doing this than using physics, etc. tilemap.GetTileIdAtPosition returns the tileId at a position. If you know the position of the player feet (maybe a bit under the feet as a sensor), use tilemap.GetTileIdAtPosition, get the tileId, use GetTileInfoForTileId to get the tileinfo for that tile - you can set up tile info string or int as "ground", etc. You can find out what tile is at any point and it'll be incredibly fast.
Use the normal physics for collision response, but for sensor type things this is way faster.