I have Xcode 16.4 and exactly the same settings as you. Here's how it works:
No files open:

I've just single-clicked my payees file - this opens it in a new tab, but note that the tab's filename is in italics (I call this a temporary tab). This denotes that if you single-click or double-click any other file in the project tree, this one will be replaced. You can keep this file open in this tab by double-clicking the tab itself.

Now, I've single-clicked the payload file. Because the payees file wasn't in a permanent tab the payload file replaced it:

And here I've now double-clicked the lookups file. It opened in a new tab, and it replaced the payload tab because it was a temporary tab.

Now I've double-clicked the notes file. It opened a new permanent tab of its own.

And lastly, I've single-clicked the DataModel file, so it's in a temporary tab.

So, the rules are:
- If the current tab has an italicised title, single-clicking will replace that tab with the clicked file. Single-click another file and it will replace it again. Think of this tab as a preview tab where you can just click to view a file but not have hundreds of tabs open just when you're trying to find a file.
- If the current tab's title is plain, single-clicking a new file opens a new tab in temporary mode.
- If the current tab's title is plain, doublie-clicking opens a new tab in permanent mode.