если не определена — пиши в дефолтный (для твоей OS) путь, т.е. ~/.config на линуксах и бздях
(уточнение: все дело в том, что эти стандарты очень линуксо-специфичны, а софт бывает кроссплатформенным, и начинает писать в ~/.config по дефолту на той же макоси, что не очень правильно — там при отсутствии XDG_CONFIG_HOME лучше писать в ~/Library/Preferences, ну и на винде аналогично, в реестр, или куда там еще принято писать)
Plist файл это тот же xml по сути. Да и причем здесь это, собственно весь смысл в том, что нужно хранить в стандартных местах отдельно взятой ОС, а не изобретать что-то новое.
~/.config/app – стандартный вариант, к тому же эстетически явно более приятный, так как настройки не лежат вперемешку с совсем другими папками. Почему бы не предпочитать именно его?
(Про ~/.local согласен, не понимаю, зачем оно существует.)
Во втором случае удобнее ~/.config закоммититть в git и восстановить после переустановки или на другой машине. Остальное - временные данные и их переносить не нужно