I have had a similar issue with logs in AG.
Believe it or not, I found that backing up the log three times in a row and then issuing a shrink works for me. You may also want to try backing up the log on the listener as well. I can assure it is possible to shrink the log in AG without removing the DB from the AG and re syncing.
I understand it's not best practice and I understand that it's odd...but I tried everything and it was the only thing that worked for me.
USE [pec_prod]
DBCC SHRINKFILE (N'mcr_dc_new_Log' , 0, TRUNCATEONLY)
GO
USE [pec_prod]
BACKUP LOG [pec_prod] TO DISK = N'nul' WITH NOFORMAT, INIT,
NAME = N'pec_prod_log Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
GO
USE [pec_prod]
DBCC SHRINKFILE (N'mcr_dc_new_Log', 1528)
GO
USE [pec_prod]
BACKUP LOG [pec_prod] TO DISK = N'nul' WITH NOFORMAT, INIT,
NAME = N'pec_prod_log Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
GO
USE [pec_prod]
DBCC SHRINKFILE (N'mcr_dc_new_Log' , 0, TRUNCATEONLY)
GO
BACKUP LOG [pec_prod] TO DISK = N'nul' WITH NOFORMAT, INIT,
NAME = N'pec_prod_log Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
GO
Worth noting this was only on some of my instances. Some instances will backup the log and shrink no problem.