C# Linq search list within list
Welcome to CodeReview.  What you are trying to do is simple enough that your LINQ implementation is okay.  Let's face it, with dominoes you are not going to have a million players with a million bones, so no need to worry about performance issues with a fairly small set.

You didn't ask explicitly for review of other parts of code, but I will offer them anyway.

Name could be a read-only property set only in the constructor.

You have Bones as a field, not a property.  It could be exposed as a public IReadOnlyList, and it probably should be a property.

Bone could be a struct or a class since it only has 2 int properties.  I do not like the names X and Y as I tend to think of Cartesian coordinates and therefore a location.  I would prefer to see names like Square1 and Square2.  I would probably keep this as a class and make the properties readonly as well.  You may consider adding extra properties such as IsDouble, and even override ToString() with $"{Square1}-{Square2}", and maybe even Pips which is a sum of both squares.

As you are new to CR, since I have posted an answer, do NOT alter your code in your question or else a moderator will roll it back.