Hello scouser I just managed to fix it!
The adboards that got loaded were specificadboard_13_0_0_0.rx3
For testing purposes I restarted career on new save file, simulated league matches just to get to Capital One Cup to check again and now the game was loading the correct file (specificadboard_0_202_0_0.rx3) even if I played at St. James Park so I thought that maybe somehow my career file got corrupted.
For some stupid reason I would rather loss progress, start over with properly functioning adboards than continue to play without cup adboards. And so I did. And guess what? The problem occured again!
So now it was obvious that it was something else that cause this problem. I started to analyzing stadium.lua file thinking maybe there is something wrong with file precedence since specificadboard_13_0_0_0.rx3 was being loaded instead of specificadboard_0_202_0_0.rx3 and I found this line:
Code:
if (kitYearOutfield > 0) then
db.stadium[idx].tournID = kitYearOutfield
And everything was suddenly clear - when I was playing career I played with "classic" kit! (I extended classic kits with 2015, 2016, 2017 etc). That's why everything was working fine while I hastily tested on another save file - I neglected choosing kit on selection screen because I had no idea it could be related to adboards (well, related indirectly through altering tournament asset ID).
I commented out this line and now everything is OK.
TLDR: it's not a bug it's a feature - I was playing with classic kit so RM was looking for specificadboard with tournament asset ID the same as kit year instead of tournament ID.