Scotland to receive £300m to cover UK National Insurance hike