1. The Taproot upgrade in 2021 removed the data limit entirely, as long as it fits inside a block. Segregated Witness (Segwit) software upgrade in 2017 allows up to 3MB of witness data to be stored ‘outside’ of the 1MB block limit. Together, they provide up to 4MB worth of storage space for the inscription content.
2. Inscriptions are stored in an “envelope” between Opcodes OP_IF and OP_ENDIF. OP_FALSE precedes OP_IF to ensure that this data is never actually used in script execution and does not take up stack space. No OP_RETURN is used, and the output containing an inscription is spendable and thus unprunable.