getblockchaininfo shows blocks: 251979
I put in the block hash for one of Satoshi's early blocks and it gives me error code: -5 Block not found.
I don't think that is right. You should be getting a "Block not available (pruned data)" error. Are you sure the hash was correct?
I put in the block hash for a block that is just behind my sync height and it gives all the details for that block.
So that suggests it is pruning, but then why does my getblockchaininfo show pruned=false,
Bitcoin Core does not think that it is pruned, and it probably isn't given that the variable it asks for that value is used elsewhere in the code to check for pruned-ness
and why is my data directory bigger than the limit I set?
Note that the datadir will be a few GB larger than the prune size because the datadir contains more than just the blockchain. It also holds the databases, your wallet file, and a few other files which consist of about 3-4 GB of additional space. The prune size only governs the blockchain data.
Can you post your debug.log file and the contents of your bitcoin.conf file?