How to get info for public address from bitcoin-cli + local db? (Can it be done without creating a wallet?)
getaddressinfo is a wallet RPC. It reports the information a specific wallet has about a receiving address it created. Without wallet, there is no information.

It seems to me that it should not be that difficult to dump all the information that the local blockchain currently has for a given address, without the need for a wallet.

The local blockchain database in Bitcoin Core has no information about addresses or the scripts they refer to at all. All it has is the raw block data, and a database of unspent transaction outputs (indexed only by the txid and output position that created them - as you can query using gettxout).
It is of course still possible to index the chain and compute information related to addresses/scripts, like various block explorer websites do. Such functionality does not exist in Bitcoin Core, as it is unnecessary for the features it provides (full block validation, wallet functions, ...).

If not, is there some other way to do it (without creating a wallet)?

Perhaps you're interested in the scantxoutset RPC. You give it a descriptor (which can contain an address, but also xpubs, ...) and it will scan the current set of unspent transaction outputs that are assigned to those. Note however that this doesn't use any index, so it is rather slow (several minutes) for a query.
If you want the ability to query things faster, various indexing software packages exist.