The JN25 Code is the closest to what you are thinking of. There were several others used by the IJN. Several sources confirm it was 'broken' or penetrated before December 1941. The Japanese were uneven in their signals security, but as you say there was not much material to work with in 1940-41. i.e: The Japanese left the regular radio operators of Nagumos fleet ashore in Hokkaido, sending fake messages while he attacked the US fleet @ Oahu. They may have sent deception messages earlier in November & October.
'Secret Allies in the Pacific' has some references to Dutch, Commonwealth, & US exchange of code/encryption information previous to Dec 1941. The Dutch seem to have been focused on the Japanese naval codes & had official contacts with the USN signals intel.
'Code Breaker in the Far East' by Alan Stripp has some details from a actual codebreaker. Ditto for 'The Emperors Codes' the author Michael Smith also worked in the codebreaking section in the Far East signals intelligence.
Stripp gives the following 'hints' about when some of the codes/encryptions were broken. Note the ID is usually Allied, not Japanese. Some of the codes Stripp worked with, others he takes from other sources. This is not a complete list. Since the Japanese destroyed a large portion of their signals & message security system before Allied intel could examine its difficult to understand all their codes/encryption methods.
1. JN 14 "probably gave warning of the attack on Miline Bay in September 1942.
2. JN 147 Appeared in 1943. Broken then.
3. JN 23 For new ships construction administration.Post 1942 ?
4. JN 25 First penetrated 1939, "intermittently" This was the primary senior command code of the fleet commanders. Decrypts warned of the raid on Colombo - Operation C, of the IJN move into the Coral Sea & first attempt to invade Miline Bay, & the Midway operation. Stripp notes that the Allied name JN 25 may cover several different systems. The Japanese destroyed all evidence of it before occupation. A earlier Naval command code may have been penetrated as well. This code was under attack by the Brits & Dutch as well as the US. Breaking it may have been a cooperative effort?
5. JN 36 & 37. For weather. 1942.
6. JN 40 Cargo ship code. Nov 1942
7. Unnamed naval code, probably for cargo ships. Broken by capture of code book 1944?
8. Unamed naval cipher. Use & date of penetration not given. Possibly low grade admin traffic?
9. CORAL Naval attache machine cipher. 1943
10. Unnamed Naval attache machine cipher. 1944
11. Unnamed code for Army controlled cargo ships. 1943
12. KA KA KA -Japanese name. Tactical code used in New Guniea. Perhaps one of dozens of low grade small unit codes distributed. 1943.
13. Unnamed Army 1943
14. Unnamed Army address code, independent of the message code. Not clear when broken.
15. Unnamed Army administrative code 1943
16. JMA Military attache use. Mid 1942
17. J 19 Consular code. 1941?
18 PURPLE high grade diplomatic. A machine cipher. From when introduced in 1941. Machine was examined/photographed by spies when delivered to Japanese embassy in Washington as replacement for earlier system.
19. GEAM admin traffic for conquered territories. Date not given
20. Unnamed diplomatic code. Used for forwarding intelligence reports brought to neutral Kabul & sent to Japan. Date of breaking not clear but Stripp says read messages were used to arrest Japanese agents in India
21. Unnamed naval air code. 1943 or 1942
22. Unnamed weather code. Date not clear but Stripp remarks that is was invaluable to Allied Metrologists for the south Asia area.
23. Unnamed Army air force code. 1944
24. Unnamed Army AF code for admin messages. "Easily broken." Date not given
25. BULBUL Army AF operations code. Note clear when broken but at least in 1943.
26. Unnamed Army code or codes? Used at most command levels. Code book captured on Okinawa 1945.
27. 6633 (Japanese name) Army air force code. Versions common through S Asia & S Pacific. 1942