My users can't unsubscribe themselves from (or subscribe to) smart groups from Wordpress
NOTE: Having written the below as an 'answer' I am less certain it is since it seems to raise more questions but will leave as such for now.

A contacts who is 'in' a Smart Group, is not 'added' to the Smart Group in the same way as they are to a General Group.

Hence I would not expect such a contact to see the checkbox for the Group 'ticked' when they go to the Profile.

Ie when I go to http://d46.demo.civicrm.org/civicrm/profile/edit?gid=16&amp;reset=1 I do not see the group 'name like lan' checked, so it cannot be unchecked. 

Does that make sense in your situation.

if lan does tick that group, then he gets sent an email for the double opt-in.

But when i Search within that Group for members Pending, it shows me all 11 contacts which I did not expect

11 Contacts 
Group(s) In name like lan ...AND...
Group Status 'Pending'

Wondering if the latter is a bug but not digging on other sites to prove outcome with older versions.