Sharing this as I worked it out and hadn't found the solution.
New phone, use a bank app as the default payment card but have loyalty cards on Samsung Pay. Neither would work unless they were set to default.
In settings > connections > NFC and contactless payments > contactless payments, there's a 'pay with currently open app' toggle. Make sure this is on, then they will actually work with one another!