Hmm, i never provided a testcontainer myself, but i have used docker images in a testcontainer. That is pretty straight-forward.
The specialized testcontainers just pass down or expose more config parameters, imho, because they possess more knowledge about the docker container that it is about to start. For SQS i could imagine, that it is convenient to expose uri or arn or even auth parameters, that one then can refer to when setting up tests with dynamic config parameters and to setup the sqs client.
Localstack i have not used so far. I use containers often for database tests also.