Electrum only generates 20 addresses beyond the last used address while Bitcoin Core has 1000.
For example: for fresh wallets, if the receiving address is at 21th index due to multiple use of getnewaddress command
Electrum wont be able to see it until some of its first address received btc.
You can try to increase Electrum's gap limit to match Bitcoin Core's default by using a command,
Open the console and enter ("View->Show Console" to enable the tab):
Many thanks, this turned out to be the issue and I managed to fix it!