You got the way it's supposed to work right and I just tested it myself and get Amex as a choice at a client level. Are you sure you have them set to pay on their own and of course, chosen USD? (I have to ask :D)

If i choose "MyClient will pay themselves" I see Amex as a choice at client level.If I choose "MyClient will pay themselves at a marked-up rate and I'll pocket the difference" Amex is then not available to my clients.

Similar situation to the above. We have a client paying themselves and AMEX is only an option if we set the currency to USD. They are based in Australia however. Wondering if this bug has returned? In the mean time I have set their currency to USD but would prefer AUD.