What is the RFFT and iRFFT complexity?
In Big-O notation, $\mathcal{O}(N\log N)= \mathcal{O}(\frac N2\log N)$, as big-O notation only describes an upper bound for growth up to a constant factor, so your first question is kind of impossible to decide; in practice, the effort for a cleverly implemented real-valued FFT will be less than that of a (normal, complex) FFT.
But whether it will be exactly half might be doubted: as basically everywhere in numerical algorithm, the number of operations isn't actually sufficient to describe the effort or time needed. When I look at my PC, it does about 200 to 1000 multiplications in the time it needs to access a random address in RAM that's not cached. So, you'll see big jumps in actual time when your data size crosses cache size boundaries, which might happen later with real-valued data; or it might not matter at all.
The same problem, big-O notation only requiring the existince of a constant, finite factor $k$ such that the complexity of the algorithm stays below $k$ times the function in the parentheses, remains for your 2D question.
Generally, you'll find that the pure description through numbers of multiplications and additions makese nearly no sense, unless you're dealing with very large numbers, so that you can be asymptotically sure to never be able to e.g. align memory accesses. I wish people would teach  that more intensely when they tell people about algorithmic complexities: for algorithms where the input data is almost certainly not randomly spread across memory, the memory access usually becomes a very dominant factor!
In the case of FFTs, the problem is even more prominent: Everyone (and their grandma) knows that the $N$-point FFT's complexity $c(N)$ is in $\mathcal O(N\log N)$, but nobody notices that there's quite possibly a very large constant factor in $\lvert c(N)\rvert \le k\cdot N\log N$ (and that the base of the logarithm isn't even defined), and that the formal definition especially notes that this only needs to hold true for all $N$ larger than some very large $N_0$.
But it gets worse: Practically, we know that on &quot;normal&quot; computers, on most FPGA IP cores and DSP slices, and most other platforms, power-of-2 FFTs are very fast, whereas FFTs with larger prime factors do still exist. But, I wouldn't be surprised at all if the $N_1=4\cdot 2^{n}$-FFT was faster than the $N_2=3\cdot 2^{n}$-FFT, even if by judging the O-notation, for sufficiently large $n$ that shouldn't be the case! People really mislead when they tell other people the FFT is always in $\mathcal(N\log N)$; you'll need to put the FFTs with the same prime factors in separate classes and only change the exponent of one of these prime factors for that to actually be a sensible statement.
Sorry that I'm such a downer about big-O notation – it's just that beyond showing how a Cooley-Tukey / Radix-2 FFT can save you computation for power-of-2 FFTs, it's very rarely used to imply anything correct, less frequently even to arrive at a useful result!