In GNOME 3 on Debian 11, the default “English” keyboard layout does not work well for the SurfaceBook 2 13" (it’s fine for the 15", just not the 13").
After a bit of testing, it seems like the best layout for English is “English (intl., with AltGr dead keys)”.
Setting this means that the keypresses match the key caps
, and are consistent with the other keyboards I use with Linux, which is great.
Update: irritatingly, this is not consistent with other keyboards I use with Linux. The @ and the " are in the wrong places. But at least I can find ~, and | easily. Aargh.