In SSL/TLS the client suggests but the server chooses. The client sends a list of supported cipher suites, and the server selects one in that list. The list sent by the client is ordered by preference, but nothing forces the server to really honour the preferences of the client.
On both the client and server side, as @schroeder explains, the application software really does the job, but it may keep its configuration in a centralized emplacement, especially if the actual protocol implementation is provided by the OS. In general, such centralization is a lot more common in the Windows world than in the Linux ecosystem.
The FileZilla client uses GnuTLS for its SSL/TLS implementation; as far as I know, as a library, it does not use any centralized configuration for client-side protocol details, so whatever list of supported cipher suites sent by FileZilla will be decided upon by the FileZilla application code itself -- or, more probably, they just use the default settings of GnuTLS.