other8026 Flarum support said:
Settings and permissions work differently.
Permissions are the least flexible. They are stored in the database and there's no built-in way to change that. You would have to create your own system to synchronise it. If the new forum has nothing in it, you could copy all the database rows from the permissions table into the same table of the new forum. But merging permissions between multiple forums would require some care, as "admin" is denoted by not having any entry.
Settings are also stored in the database by default but Flarum provides a SettingsRepositoryInterface that you can use through the Flarum extension API to extend or completely override the default storage method.
This extension https://discuss.flarum.org/d/23977-packaged-local-extenders provides a local extender that you can place in your root extend.php to override specific values. This is useful if your forum skeleton is versioned.
It's probably not a good idea to completely replace the settings repository with an hard-coded one because some extensions use settings for purposes that require it to be writable, for example my Sudo Mode extension generates a temporary global secret token and stores it in the settings repository.
Is this something @GrapheneOS would consider doing or no? And thank you for that link!
EDIT: Actually, I see "use Flarum\Extend;" here: https://github.com/GrapheneOS/discuss.grapheneos.org/blob/3cb46538777a59b86b71a43ded909317a7ee1b7f/flarum/extend.php#L10C1-L10C19
But not sure if that's the same extend thing or not.