I assure you that this is true if the channel has a lot of members and it takes several seconds for them to be listed.
Also, on Freenode I get neither a 352 nor a 315 sent. I get 1 or more 353 followed by a 366 :End of /NAMES list.
But I could certainly set a variable in the ON JOIN event and clear it on the RAW 366 event as a way of knowing either I was InJoin.
But that does not stop this being a potential bug.