I encountered this error when deploying the Hosted Engine via Cockpit:
[ INFO ] TASK [ovirt.engine-setup : Run engine-setup with answerfile]
[ ERROR ] 
fatal: [localhost -> engine.ovirt.trashnet.xyz]: FAILED! => 
{"changed": true, "cmd": ["engine-setup", "--accept-defaults", 
"--config-append=/root/ovirt-engine-answers"], "delta": 
"0:00:01.396490", "end": "2020-05-22 18:32:41.965984", "msg": "non-zero 
return code", "rc": 1, "start": "2020-05-22 18:32:40.569494", "stderr": 
"", "stderr_lines": [], "stdout": "[ INFO  ] Stage: Initializing\n[ 
ERROR ] Failed to execute stage 'Initializing': '%' must be followed by 
'%' or '(', found: '%JUUj'\n[ INFO  ] Stage: Clean up\n          Log 
file is located at 
/var/log/ovirt-engine/setup/ovirt-engine-setup-20200522183241-c7d1kh.log\n[
 ERROR ] Failed to execute stage 'Clean up': 'NoneType' object has no 
attribute 'cleanup'\n[ INFO  ] Generating answer file 
'/var/lib/ovirt-engine/setup/answers/20200522183241-setup.conf'\n[ INFO 
 ] Stage: Pre-termination\n[ INFO  ] Stage: Termination\n[ ERROR ] 
Execution of setup failed", "stdout_lines": ["[ INFO  ] Stage: 
Initializing", "[ ERROR ] Failed to execute stage 'Initializing': '%' 
must be followed by '%' or '(', found: '%JUUj'", "[ INFO  ] Stage: Clean
 up", "          Log file is located at 
/var/log/ovirt-engine/setup/ovirt-engine-setup-20200522183241-c7d1kh.log",
 "[ ERROR ] Failed to execute stage 'Clean up': 'NoneType' object has no
 attribute 'cleanup'", "[ INFO  ] Generating answer file 
'/var/lib/ovirt-engine/setup/answers/20200522183241-setup.conf'", "[ 
INFO  ] Stage: Pre-termination", "[ INFO  ] Stage: Termination", "[ 
ERROR ] Execution of setup failed"]} 
The important bit is this: Failed to execute stage 'Initializing': '%' 
must be followed by '%' or '(', found: '%JUUj'"
Hey! Those are the last few characters of the admin password. Note that I don't mean the root password to the VM, but the one for the "admin" user of the web interface. I added some debug lines to the Ansible play to see the answerfile that was being generated.
OVESETUP_CONFIG/adminPassword=str:&6&yGfcWf#b%JUUj
Apparently engine-setup can no longer handle an answerfile with a "%" character in it. This same password worked in 4.3.
Once I changed the admin password, installation progressed normally.