So if the VDI and AppVolumes databases are third-party products, you will need to ask the vendor why they want SQL authentication.
It could be that they are using an application login, and it is not uncommon that this is an SQL login. If they have a middle tier that runs as a service, they could use Windows authentication if you create logins and users for their service accounts. Provided that the vendor permits you to specify this in config file or similar.
Then again, fixing this failover problem is not difficult. You talk about a cluster, but I assume that you have an availability group, since you get this problem with the login mapping.
On the primary run
SELECT sid FROM sys.server_principals WHERE name = 'applogin'
and make note of the value
On the secondary run:
SELECT @hash = loginproperty('applogin', 'PasswordHash')
DROP LOGIN applogin
CREATE LOGIN applogin WITH PASSWORD @hash HASHED, SID = @sidfromprimary
I don't think you can use variables with CREATE LOGIN, but just paste in the values.