Thank You , Thank You, Thank You!!!!!!
I have spent days troubleshooting this problem. Our code would work on desktop and iPad, but not on iPhone. The 'NotAllowedError' made me believe the problem was with getUserMedia() or the Permissions-Policy response headers. Your post saved the day :-) I'm so grateful you took the time to post it!
We already had autoPlay="true" and muted="true" in our video element - it was the adding of playsInline="true" that did the trick.
Thanks again!