VACUUM ANALYSE not reducing index bloat, only VACUUM FULL
VACUUM typically does not shrink the tables or indexes.
From v12 on, you can use REINDEX CONCURRENTLY for that.
Before, you would create a second index with CREATE INDEX CONCURRENTLY, then drop the old index. But that wouldn't work for a constraint index.
But 50% bloat like in this case is quite normal and healthy for a b-tree index, and I wouldn't worry about it.