Hi Jeff,
> Caution: It is not recommended to share the custom widget item publicly. For security reasons, a public app will not load the custom widget when anonymous users access it. Further, an app will only load the custom widget that is registered in the same organization as the users who have permissions to access the app.
This implementation of Web AppBuilder in Portal for ArcGIS was by design because of security concerns. While I have not personally tested, I believe you could use your 2 custom widgets with Web AppBuilder Developer Edition, and host the custom apps on your own web server. Then enable the apps for anonymous access.
I'm sorry that we don't have a better workaround. Can you please submit an enhancement on the ArcGIS Ideas site?
> We have been advised that headless users are a violation of the terms of service.
Confirming that this statement is correct. Using a headless user is a violation of the software license agreement. A named user account is assigned to a real person, like an individual's unique login.
Hope this helps,