It’s linked to and discussed in other threads. dt devs have been arguing that you could interpret the standard in a way that differs from the actual standard as implemented by the rest of the world and as consistent with xml path names.
The reason is that they find the use case enabling individual edits of files with identical base names more important than meta data compatibility.
A standard is not a legal text to wrangle and interpret to enable incompatible behaviour. The text and actual implementations makes for the actual standard.* A few foss applications are the only ones using the ext.xmp file naming.
*I know Microsoft and others has a long habit of misinterpreting standards to enable lock in. There’s no reason for darktable to do this however.