I did some tests and it appears that with the physics behavior, a projectile will bounce without overlapping the tile so in this case your solution won't work.
While using the physics behavior, I managed to target the closest tile on my project -with the surrounding tiles thing- but I increased the projectile speed and now it's less accurate.
Most of the time it works :
Some of the surrounding tiles (under the blue overlay square) aren't empty so I can target a closest non empty tile when the projectile collides with the wall. The red square is the returned tile from the projectile position with positionToTile.
But sometimes, quite often, it won't work with my fast projectile :
The tile returned from the projectile coordinates is one tile farthest from the green wall than it should be.
No surrounding tiles are overlapping the green wall so my events won't work because it needs to target a close non empty tile.
I avoided this new issue by increasing the radius of the tested surrounding tiles from 1 square :
Now I can find the closest tile that is not empty.
That's an ugly solution thought