Public-key format for ECDSA as in FIPS 186-4? What is the public-key format for ECDSA as in FIPS&nbsp;186-4, and where is it formally defined?

In particular, are there variants beyond Cartesian coordinates? Is that a pair of bitstrings, or a pair of integers, and with exactly what ASN.1 decoration (if any)? Would the point at infinity have a valid representation (I know it is not a valid public key)?

I ask because I find various formats around (in an X.509 public key certificate there is typically a bitstring including a header and Cartesian coordinates, but some code use point compression); I'm not even sure ANS&nbsp;X9.62:2005 would address my question; and I can't find the answer in ISO/IEC&nbsp;14888-3:2016.
As said in comment, I believe you might find answers in the SEC1v2 document, which is used in many implementations (OpenSSL, Go, mbedTLS etc.) as a reference regarding that matter and which spares you the pain of reading all the many RFCs on that topic.

Now regarding the actual facts, if I generate a private key with OpenSSL:

openssl ecparam -genkey -out testsk.pem -name prime256v1


And then print its public details:

openssl ec -in testsk.pem -pubout -text


I get the following:

read EC key
Private-Key: (256 bit)
priv:
    00:ca:4e:db:94:a6:e5:a4:5f:3b:9e:f6:34:cf:22:
    5e:10:eb:7f:60:8d:56:d6:2a:e9:1c:08:4e:ee:c0:
    38:21:bd
pub: 
    04:f3:13:94:7a:db:02:6b:c1:1f:3a:50:c4:04:07:
    d1:12:12:6a:b2:90:e8:c8:48:7a:4b:3c:f6:8a:7e:
    3b:4e:fe:67:e7:69:bd:74:b6:32:3c:26:ea:66:43:
    81:e6:74:d2:aa:db:1c:a6:44:03:fc:7a:72:90:28:
    20:bf:1d:3d:89
ASN1 OID: prime256v1
NIST CURVE: P-256
writing EC key
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8xOUetsCa8EfOlDEBAfREhJqspDo
yEh6Szz2in47Tv5n52m9dLYyPCbqZkOB5nTSqtscpkQD/HpykCggvx09iQ==
-----END PUBLIC KEY-----


Which, once decoded from ASN1 corresponds to:

SEQUENCE(2 elem)
    SEQUENCE(2 elem)
        OBJECT IDENTIFIER1.2.840.10045.2.1ecPublicKey(ANSI X9.62 public key type)
        OBJECT IDENTIFIER1.2.840.10045.3.1.7prime256v1(ANSI X9.62 named elliptic curve)
    BIT STRING(520 bit) 000001...1000


So my public key is actually a sequence of two tags:


firstly, another sequence, which is constituted of the details of my object, which is an ecPublicKey and is made for the curve prime256v1 (aka P-256) as per their "decoration" (aka OID).
secondly, the bit string corresponding to the EC public key point at hand, which is either compressed or not (this can be determined depending on its length, here as you can see we have $\frac{520}{8}=65= 2\cdot \frac{\log_2(q)}{8}+1 $, so no compression). 


And as you pointed in comment, those points are encoded as explained in SEC1v2 section 2.3.3, and the exercise of converting the bit string into actual coordinates is explained in section 2.3.4