From any tile you are on, there are I guess 4 other potential tile positions you could move to (or have moved from), always at a fixed size or offset. I am assuming diagonal moves are not possible on this board.
Doing a raycast on each of those positions somewhere “above” the board looking down (although it might be a 2D board or game, you can still do this in 3D space), the raycast hits should be able to reveal if there was a tile there or not.
So the point you cast from would be directly above each of the tile positions, and in the direction down towards the board (which might be “down” or “forward” depending on the orientation of the board in the scene). It will go some distance before hitting something or giving up, which is why you want to start a bit away from it.
So then you’ll have a general answer no matter the design of the board or the current location of the coin, without having to hand code in each one.
Whether you do that dynamically on each turn and move from tile to tile, or scan the board once at start and then record the results inside each tile, is up to you. For a game of Ludo the performance hit of doing a few raycasts per tile move is probably negligible to not worry about it.
The real issue is how classic or fancy you plan to make your game. Doing it dynamically per move opens up the potential scope a lot, including for example a board that changes its layout during play. However if you have no intention of doing that and just want to go classic, no need to bother with things like that.
Sorry I can’t be more specific at this overall view of the problem. Without having to go to the lengths of an actual path finding algorithm such as the one covered in the tower defense section of the course, there are a few places that cover the tools you’ll need to figure this out. Maybe have a go at it so that if you get stuck on something (or something doesn’t work) a bit more specific, a more focused answer can be provided. Lots of if’s and but’s at this high level.