I think I see the cause of your original problem. The docs say:
In addition to .local, for jail.conf or fail2ban.conf file there can be a corresponding .d/ directory containing additional .conf files. The order e.g. for jail configuration would be:
jail.conf
jail.d/*.conf (in alphabetical order)
jail.local
jail.d/*.local (in alphabetical order).i.e. all .local files are parsed after .conf files in the original configuration file and files under .d directory. Settings in the file parsed later take precedence over identical entries in previously parsed files.
Your jail.d/jellyfin.local
file is processed after jail.local
so you’re overriding enabled = true
from jail.local
with enabled = false
from jail.d/jellyfin.local
.