This is how I've overcome the custom culture restriction in Azure Web Apps by using URL Rewrite from IIS.
Here's a snippet from /App_Config/UrlRewriteAndRedirects.config
<rule name="RewriteCustomCultures" enabled="true">
<match url="^(/?)en-(jp)(/?)(.*)?" />
<action type="Rewrite" url="en-{CustomCultures:{R:2}}/{R:4}" appendQueryString="true" />
</rule>
Here's a snippet from /App_Config/RewriteMaps.config
<rule name="RewriteCustomCultures" enabled="true">
<match url="^(/?)en-(jp)(/?)(.*)?" />
<action type="Rewrite" url="en-{CustomCultures:{R:2}}/{R:4}" appendQueryString="true" />
</rule>
Link Provider
The Link Provider must also be modified so that the the URL's generated will use custom cultures instead of the "real" culture inside Sitecore.
Other Culture Info and Localisation
The culture that you have selected may not have the correct number formatting, date / time formatting, Default Calendar Type used (eg. Gregorian, Lunar), or currency formatting. In Windows 10 Control Panel -> Region -> Additional Settings, every single setting that can be overridden can be seen clearly.

You will need to build additional functionality to override each of the settings. Our solution includes having an override checkbox as a configuration Sitecore item for that language to store the exact same settings as Windows Region settings.
Migrating the content
Now that the solution in place, the content needs to be migrated from one culture to another. To ensure that existing content and Sitecore item language versions remain in tact with the appropriate workflow still in place, I have opted to migrate the content directly using Update SQL queries on the master and publishing target databases.
The queries are straight forward, just go through every single SQL Table with the Language column, and change en-JP to en-JM. As the content is changed without going through Sitecore, Content Search indexes, Link Databases and Dictionary file are going to be out of sync and rebuild is required. So make sure you have allocated enough content freeze time for this task. We left this running overnight in the production instance.
Please check out my blog post
https://medium.com/@Vincent_Lui/sitecore-cloud-migration-from-on-premise-to-microsoft-azure-platform-as-a-service-paas-part-2-9e1cdff2fbd2
Do shout out if this helps you resolve the problem.