Удалить точку перед доменом в RewriteCond
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^users/([^/]+)/?$ http://$1.example.com/ [NC,R=301,L]
Ваше правило не выполняется, потому что вы проверяете по http://example.com
, не совпадая с начальной точкой.