The all-profiles project tree merge used raw path strings as keys.
On Windows (case-insensitive fs), the same folder with different
casings across profiles (e.g. C:\Users\me\Project vs
C:\Users\me\project) produced duplicate top-level entries in the
sidebar Projects section.
Backend: normalize the merge key with os.path.normcase() (no-op on
POSIX, lowercases on Windows).
Frontend: deduplicate projectModel by id before rendering — a safety
net that catches any merge edge cases the backend fix doesn't cover.
Closes#92588