I don't really have an answer on the delegation set piece (and I'm not sure of your reasoning for this), but I think you'd have to create a new delegation set under the AWS account B with the same name servers that you have in AWS Account A.
Ultimately, I don't know what you're trying to achieve necessarily, but you could also create subdomains across accounts by creating customer.example.com as a hosted zone in AWS Account B, then take the name servers from that hosted zone and create a name server record in AWS Account A for customer.example.com. This allows you to manage the customer.example.com records in AWS Account B without having to assume a role in AWS Account A. AWS has documentation on this under creating a sub-domain without migrating the parent domain reference
You can definitely do this in terraform, but you'd also need to employ provider profiles in terraform or find another way to assume a role in account B (assuming your user ID is in Account A), I use a npm module assume-role (sorry I can't link it too I don't have enough reputation points) since terraform doesn't have native support for this outside of running terraform in an AWS instance.
This is also assuming you're going to want to create a number of records at customer.example.com. If you're only wanting to create an a-record for customer.example.com this is overkill.