How to set up Oracle 19c and/or RHEL so new files created using UTL_FILE have -rw-rw-r-- (664) permissions on Linux
This depends on how you use UTL_FILE and what setup you have. Do you create files using UTL_FILE from scheduled jobs/preallocated databases processes or from databases processes spawned through the listener? Is this a RAC or single instance database? If single instance, is Grid Infrastructure in use or not?
Simplest case: single instance without Grid Infrastructure. Here just set umask to the desired value before starting the listener and the database interactively in the shell or the script used for that.
Different Permission When the Data File is Created/Added Remotely (Doc ID 961568.1)
With Grid Infrastructure: set the necessary setting as described in How to set the permission of the files created by listener using UTL_FILE on RAC(11.2-) env. (Doc ID 1980622.1)
srvctl setenv listener -t ORA_RDBMS_UMASK=002

Then restart. This sets the umask only for remote sessions connecting through the listener which spawns their processes. For scheduled jobs or shared servers or DRCP, you will need more than this.
srvctl setenv database -d orcl -t ORA_RDBMS_UMASK=002

I never tried this for the database resource in 19c. I guess it should work, but I leave the testing for you now.