The first thing to say is that it isn't a choice between a cross-over cable and a router. The initial choice is between a cross-over cable and a switch. Most home/soho routers will contain a switch, typically 4 ports. More professional routers (e.g. the Ubiquiti EdgeRouter Lite) may only have 2 or 3 ports that have more independence than a typical low-cost switch/router.
The main issue, however, with your "architecture" is that you need 2 different network connections on the "client" computer. That could be wired and Wi-Fi or 2xwired.
One caveat before continuing: If the "client" computer is something like a fixed desktop with little use, then you could easily turn it into a dedicated router if it has two network ports.
Assuming you can do that, the next problem is how the client computer's operating system handles multiple network connections.
Typically, a Windows client (e.g. Windows 10) is not designed for this configuration and about all you can do natively is bridge the two connections. In that case, you are relying on the Windows firewall to protect your server, again it is not designed for this though it will probably do just fine. But the bigger problem is that, if your client computer is compromised, your server is likely to be as well - you can mitigate that by running an OS level firewall on the server.
Things are rather better if using Linux on the client computer since Linux OS's are generally very good at being servers and have a number of tools commonly available such as the IPTABLES firewall. You can also get tools to help with routing issues and many routers actually run Linux under the skin. You still have the additional vulnerabilities that come from using a client computer as a router though - namely that client computers are generally more exposed to dangers.
Routers are designed specifically for this purpose and therefore are likely to have better performance overall since you are not relying on the performance of the client computer. Client computer performance will vary greatly depending on what else you are running and it is generally hard (at least under Windows) to optimise for routing use. Routers will be doing less things and should be optimised for those tasks anyway.
Routers are also likely to give better security, they are not running so many tasks - every task you run adds to security risk as it adds to the potential number of security flaws open to attack.
Of course, there are rarely absolutes in the world of IT design and there are a lot of variables that we don't know about.
In general though, you are much better off with a router. It is likely to be more secure and also likely to have better overall performance or at least more consistent performance than a client computer.