Characters that require utf8mb4 are represented as a surrogate pair in Java, and occupy 2 chars. A simple way to detect them is therefore checking if the length of the string in chars is the same as the number of code points:
boolean requiresMb4(String s) {
int len = s.length();
return len != s.codePointCount(0, len);
}