Creating/dropping MySQL users using "IF NOT EXISTS" when row based replication is in place
You are correct in that row based replication is solely for table changes. CREATE USER etc are replicated as statements.
CREATE USER IF NOT EXISTS does prevent a failure overwiting an existing user and a replication failure if the user exists. It doesn't guarantee that the new user definition is the same.
MariaDB's CREATE OR REPLACE USER ensures the user created can always replicatoin and that the user becomes the same.
Another technique that will work for MySQL is DROP USER IF EXISTS followed by CREATE USER.
The more thorough solution for consistency is to be strictly on how replicas are created and don't update replicas except through replication.