Can you directly port ETH mainnet contract to BSC ? Also, does Infura work with BSC ? Does Web3 work with BSC ?
For you first question, you can directly port your code from ethereum to main net just make sure that if you are using any Standard interface such IERC20 in your code base convert them to their appropriate BSC alternative such as IBEP20.
For your second question NO infura does not support the BSC network
For your last question YES web3 can work with BSC, you just have to provide the node information you are connecting to.