Fix for #7993 again, fields are listed twice in labeling data defined menu

- Reverts 0192e37
- Move code from init() to ctor for fix and to ensure connections are not duplicated
- New code also fixes previously unknown issue when loading .qml style