I understand that you have an external environment for Azure Container App i.e. it is accessible using its Public IP address. In this scenario the by changing the NSG to allow traffic from AzureFrontDoor.Backend service tag will work if your app is deployed in consumption only environment. As documented here when using workload profiles, inbound NSG rules only apply for traffic going through your virtual network.IP address filtering alone isn't sufficient to secure traffic to your origin, because other Azure customers use the same IP addresses. You should also configure your origin to ensure that traffic has originated from your Front Door profile.
Azure generates a unique identifier for each Front Door profile. You can find the identifier in the Azure portal, by looking for the Front Door ID value in the Overview page of your profile.
When Front Door makes a request to your origin, it adds the X-Azure-FDID
request header. Your origin should inspect the header on incoming requests, and reject requests where the value doesn't match your Front Door profile's identifier. More information can be found here
I would recommend to test this scenario in non-prod environment first as the recommended solution in such scenarios as already highlighted by you is to upgrade AFD to premium SKU and use private link connection to secure the backend.
Hope this helps! Please let me know if you have any additional questions. Thank you!
Please "Accept the answer" if the information helped you. This will help us and others in the community as well.