This is a really helpful discussion from my perspective.
I think as 'proof of concept' the use of a URL to 'grab' a basemap is a great step forward - although it is not entirely intuitive, one of its strengths is not disrupting the existing workflow... In my opinion. And if it is possible to grab a series of MBTiles (for example) via URL that could be useful as part of pre-data collection preparation, then just select the appropriate basemap in the form.
I confess to being nervous of the external TMS approach - that's another learning curve, potentially an account or server set up and maintenance / cost, and I'm not sure yet if it would give me the required basemaps in all situations.
Two use cases to help me think it through:
Field validation of work completed
We use a custom basemap with (at least) 3 vector layers overlain on a topographic backdrop (or sometimes drone derived orthomosaic). The data in the vector layers may be confidential. I have no need (or desire) to have any other those vector layers selectable and to date I have produced raster MBTile layers using QGIS. This results in some fairly large files if we're working on an extensive site, but as I plug the device into the computer this is not a problem. We are a small team with only 1 or 2 people remote from this computer - generally we share the file(s) via our webserver or any of the (free) filesharing services and provide instructions (devices are not locked). This fieldwork (re)uses a single form at multiple locations and is ongoing - this means that defining / linking a specific basemap to the form would require repeated intervention via Central and therefore more coordination - we sometimes work on 3 or 4 different sites in a single trip away from the office, and may not have reliable data connection whilst away. Each member of the team is able to create and load their own MBTiles basemaps (but don't always)
The file picker would work well providing we can get the files on to each device easily (we usually create a sub-folder within Downloads to store GPX tracks, so would probably implement something similar via a training session). Presumably feature this would be accessible from the form geo-widget as an extension of / alternative to select basemap? Which is more intuitive than needing to access the project settings...
External data collectors
Using locked devices, up to 40 remote staff, not under my management: I've explained this elsewhere I'm sure, but basically we have custom basemaps (probably more akin to the Area of Interest model) for defined sites and need to share these without being able to plug in the device or access the Android filesystem. With our own devices lent to the client (and mailed between sites!), we store all the basemaps on the device and select the appropriate one for each location within the geo-widgets. We also have point / line data for each of these locations which we now use select-one-from-map, with a filter to load a subset, based on the location. In a previous iteration of the form, we included these features on the basemap, but that is probably not essential.
Again the file picker would work (we already use this to import GPX tracks to the form prior to sending, so the concept would be familiar). Although some sites have data connection, most would need to prepare ahead of doing fieldwork by downloading the basemap.
I've just looked at my 'master' folder on the desktop and have around 400 basemaps from the last 3 years, taking up just under 3GB. Two projects with 50+ basemaps that were generated in bulk, otherwise they were created singularly for specific locations / projects, using any one of 5 forms...
I feel like I'm oversharing here! But hopefully it gives an idea of what functionality might be required - something relatively simple with a short workflow would be good