Since AuditRoleManager assumes, and enforces, a certain type and number of options relating to whitelisting, it's not possible to pass on RoleOptions instances with custom options. The culprit seems to be AuditWhitelistManager.
void createRoleOption(RoleOptions options)
{
if (options.getCustomOptions().isPresent())
{
throw new InvalidRequestException("Whitelist options are not supported in CREATE ROLE statements");
}
Similar checks are done for alterRole.