Number of memory unsafety and race conditions I've had to debug in production in a year of use: zero.
pgrx is fantastic.
The one downside of custom extensions is that you aren’t, AFAIK, able to use them with many hosted Postgres installs, notably AWS RDS.
Since it's a procedural language, you can't do things like create a new index implementation or something else super low level. But there's still a lot you _can_ do. Like implement a custom comparator for a custom type and then use that type in a btree index.
https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLRelea...
Which includes literally all 4 extensions you’ve mentioned.
Every managed service does this, specifically because they need to blacklist extensions that touch on the managed parts of it — eg filesystem