This issue happens when the "servers" table in the "mysql" db uses the engine InnoDB. I know this is the wrong engine for this table, but I was recently working on a server in this situation. It's possible that an automated script updated all the MyISAM tables on the server to InnoDB.
When I setup federated/federatedX tables, they work just fine while mysqld is running but when the mysqld service restarts, all federated tables stop working as if the remote server's entry doesn't exists on the local MariaDB server.
After every restart the servers' entries remain in the "servers" table in the "mysql" db. If I try to add them again with the CREATE SERVER command, I get an error as if they exist. If I try to drop them with DROP SERVER, I get an error as if they don't exist. The only way to make it work again is to manually remove the entries from the "servers" table with the query "DELETE FROM servers" and create them again with the CREATE SERVER command.
The logs doesn't show any information regarding the failure on the federated tables after each restart, they fail silently. Since this issue is probably very rare I believe that a simple warning in the logs would be good enough.