I think there is a bug of sorts with pg_sequence_last_value(), in that the security checks prevent a superuser (or owner) from seeing the last_value of a sequence by way of this function. That seems like a use case that should be supported (and since it isn't, it causes problems for a lot of other use cases). As an example:
last_value bigint The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence. Null if the sequence has not been read from yet. Also, if the current user does not have USAGE or SELECT privilege on the sequence, the value is null.
"""
The null in the example seems to be due to the first condition (not been read from) not the second (privileges).
postgres@54321:pagila=# select * from x; last_value | log_cnt | is_called ------------+---------+----------- 1 | 0 | f (1 row)
The "last_value" on the sequence object has a different definition than the one on the relatively new pg_sequences catalog.
I'm not seeing where a bug has been shown to exist though I'll agree that the quick reading of the documentation leaves some level of confusion.