When you are getting an image from the browser, the browser will set the accept header to something like, Accept: image/webp,image/apng,image/*,*/*;q=0.8, and API Gateway will only pick the first value from the Accepts header.
If the first value matches the pattern in the binaryMediaTypes, API Gateway will consider it as binary data so it will be converted from base64 String to binary data or pass through the binary data.
If you don't have the behavior changes based on the Accepts header from the client/browsers, you can always set the contentHandling property to CONVERT_TO_BINARY on the integration response, then API Gateway will ignore the Accepts header.
I suggest that you can put image/* to the binaryMediaTypes on the API, then re-deploy the API and try again on the browsers. It should be returned as binary data.