Incase of docker it does not matter in which port the DXA application has been hosted. The docker sends the same url to the content API which it receives as request.
To confirm this, anyone can check the Content Microservice logs.
With regards to the issue:
The DXA application inside the docker was not able to update the BinaryData folder as it was set as ...
Just to complete this:
There IS "some magic" between DXA and the Content Services that means DXA can request the CPs to be populated even when they are DCPs (to avoid multiple requests etc.).
As Atila notes - this is part of the Model Extension/Service.
So, if you're wanting to make calls directly form a front-end app then you're going to need to ...