To summarize:
After having a wiki updated from 1.35 to 1.39, in which the configuration was working just fine, the keys pointing to custom namespaces somehow get themselves chanted into zero-indexed integers, as though the values are stored in a regular array.
With $wgNamespacePaths as configured, assuming that NS_FOO = 3000 and NS_BAR = 3002:
LocalSettings.php
$wgArticlePath = "/$1";
$wgNamespacePaths = [
NS_FOO => "/foo/$1",
NS_BAR => "/bar/$1"
];
The associative array as evaluated is expected to return
Array
(
[3000] => /foo/$1
[3002] => /bar/$1
)
However, with the extension active, the actual outcome gives me
Array
(
[0] => /foo/$1
[1] => /bar/$1
)
thereby causing these short links to point to the wrong namespaces in that manner.
With all these taken into account, did I misconfigure anything, or am I missing something, or does the extension have an existing issue that has yet to be fixed?
If it's any of the former two, how do I go along with solving the problem in question?
UPDATE: I found out the underlying cause, that being the absence of "merge_strategy": "array_plus"
to be specified in the NamespacePaths config of extension.json.