When my main account's reputation is 40, the meta account still shows me as 28 reputation. Where is the problem?
It takes some time for the reputation to update. See for example Reputation shown different in Stackoverflow and Meta Stack Exchange:
Reputation takes time to update between websites. You just hadn't waited long enough. You see this sometimes even between SO and MSO - there is a time delay between when you receive reputation and when your profile on other sites will display it. Waiting ~15 minutes should give it enough time to update.