What language are you using? You said you are not using Unity or Unreal, are you using any engine or are you doing everything yourself? These details will be more important than the operating systems in question.
Also, please note that what you describe is not really local, since there is more than one machine involved. It might seem physically local, but from a programming point of view its the same as any network communication.
I have never worked with bluetooth, but I know on linux is difficult to work with (from a user perspective). You will probably make things a lot easier for yourself by just using sockets and TCP. Since you are on the same network, it should be quite fast, and for something turn based its even easier. Basically you need one player to host (start a server on some port) and the second player to connect to it. There isn't really anything game-specific about this, and the code will look very similar in windows and in linux, so OS choice isn't really a big factor.
I would advise you to avoid developing a separate server, and just have one player as the host. In other cases this might make sense, but it seems an unnecessary complication in your case.
Search for simple TCP client/server examples in whatever your chosen language is. You will need to implement BOTH (client and server) into your game, server for host and client for second player. The code should be fairly simple and easy to follow.