Hello Mark,
When I encounter network related issues like that, it can sometimes be helpful to get a network traffic capture with an application like Wireshark. When testing connections to FluidSynth you'd want to capture on the lo loop back interface. I'd also check to make sure you don't have any firewall rules enabled which would be causing this. It might be worth doing a quick test using netcat to create a TCP/IP server on the same port 9800 and see if it works, to rule out any system related causes of port 9800 being blocked.
Also, are you using the default Fedora package for FluidSynth or are you building from source? If you try building from source, does the issue also occur.
If I was still having issues, I'd start delving into debugging FluidSynth. For example, setting a breakpoint on fluid_server_handle_connection() to see if that callback is getting called when an incoming connection occurs. Or checking to see if fluid_istream_readline() gets called, which handles shell input and see if it is returning any values which would cause a disconnect.
Hopefully that is helpful in figuring out what is going on.
Best regards,
Element Green