Hi there,
It turns out that I have two different Amex cards, both have the last four digits. This is a side-effect of how Amex uses those digits to indicate which additional user and which replacement card it is - everyone’s first amex, for example, usually end in 100n.
Amex’s statements and website uses the last five instead, which seems unique enough.
Can you have Shop Pay show the last five?