Using nested stacks is a best practice in AWS CloudFormation, and indeed they solve many problems (code reuse, stack limits, etc).
It's also generally a good idea to do any sort of updates with the minimal access necessary for that update (using the RoleARN of the UpdateStack command). I can't seem to find any documentation on exactly IAM access is necessary to update a stack that has nested stacks.
As described here, a stack update will always get the template for the nested stack again.
s3:GetObject(ors3:GetObjectVersionif a versioned url is used) is necessary for the location where the template for the nested stack is hosted.iam:GetRoleis necessary for role to self-inspect (so theResourceshould be the Arn of the role itself).