Updated user cache is ignored
Even if some own changes has been made in user caches, it won't be picked up by fontconfig and still referring system-wide one.
For example, applying the following config to update caches:
<fontconfig>
<match target="scan">
<test name="family"><string>Noto Sans Mono</string></test>
<edit name="spacing" mode="assign"><const>mono</const></edit>
</match>
</fontconfig>
But fc-match and fc-list doesn't show this. if changing the order of cachedir in fonts.conf as the follow will works:
<cachedir prefix="xdg">fontconfig</cachedir>
<cachedir>/var/cache/fontconfig</cachedir>
This explains fontconfig reads caches in the order of cachedir regardless of its timestamps. Note, if we change like this, when running fc-cache by root, all of caches will be stored in /root/.cache/fontconfig. this is completely wrong.