Ok I had some time to try replicate the issue: I created a server role called dataadmin. I then created a Windows group and put a login in there... called LOGINX which has the dataadmin permission role.
CREATE FUNCTION [dbo].[fnClassifier1]()
RETURNS SYSNAME
WITH SCHEMABINDING
AS
BEGIN
DECLARE @WorkloadGroup SYSNAME
--DECLARE @WhoAmI SYSNAME = ORIGINAL_LOGIN()
IF IS_SRVROLEMEMBER('dataadmin') = 1
SET @WorkloadGroup = 'gAccess'
ELSE
SET @WorkloadGroup = 'default'
RETURN @WorkloadGroup
END
GO
I then start a new session and
-- Run the below as LOGIN X
SELECT * FROM dbo.blanktable
see my attachment... it does go to the gAccess group when I login as LOGINX... Is that what you need?