Solution:
Use the Runtime Lite key - this gets rid of the watermark. Then, once you log into ArcGIS Online in the app with a Level 2 named user, set the license level via code:
Connections {
target: securityPortal
onLoadStatusChanged: {
if (securityPortal.loadStatus === Enums.LoadStatusLoaded) {
var licenseResult = ArcGISRuntimeEnvironment.setLicense(securityPortal.portalInfo.licenseInfo)
...