OK. Apparently you are doing the right things. That the geojson loads and renders when stored on the device is great.
Here are some possibilities why you do not get the url to work:
1) When you download directly, you may get headers etc. that the component can not process when you download the file. 500 means 'something' went wrong on the Web site server. The code unfortunately is non specific. Does the same thing happen if you compile your app and do not access the url from Companion?
2) You might prepare a small example and post the blocks and / or the aia so someone can look at this.. The issue might be how you use call FeatureCollection.LoadFromURL
3) The Web site might restrict using the geojson as a direct access. I am guessing.
4) What version of Android are you using? Some versions of Android have issues with certain features of the Map component. I know for certain Android 4.2.2 does.
5) It might be interaction between Map and the real time loading of the geojson. Some kind of timing issue.
Without a copy/link of the info you use, this is impossible to debug.