The asymptotic performance is the same O(n). However, if your solution is O(n^2 something) then you're just on the verge of TLE. That means additional allocation can screw up things even if the asymptotic performance is the same just by adding some precious milliseconds.

It also doesn't make sense to do string concatenation there. If you're going to do it anyway, then better just write a regular isPalindrome(String) function and pass a + b as an actual parameter rather than taking the worst of the two worlds (a function that can only check two strings, but doesn't take any advantage of this limitation).

That aside, your code just doesn't look right. Why return false if combinedStr.length() % 2 != 0 if a is "xy" and b is "x", then "xyx" is a perfect palindrome.