According to the documentation,
if a rowid table has a primary key that consists of a single column and the declared type of that column is "INTEGER" in any mixture of upper and lower case, then the column becomes an alias for the rowid.
"NOT NULL" is not part of the type but is a (superfluous) column constraint, so this will still be the rowid.